2009-11-13 38 views
0

我有6年的C#編程經驗,我期望拓寬我的視野。我將構建一個簡單的Web應用程序來展示Ruby on Rails的知識,這樣我就可以將自己的腳放在可能需要Rails程序員的地方。這是新鮮事物,所以我想成爲市場。從軌道開始。 SDKs插件等的建議?

無論如何,我一直在玩solr和tomcat,我想使用solr作爲產品數據庫的搜索引擎。這意味着我將使用一些java(tomcat和solr),並且對於Web應用程序,我將使用MSSQL,因爲我使用的是Windows。一位朋友建議我研究jRuby,因爲如果我要使用tomcat,那麼把它全部放在一個web服務器上是有意義的。我想用Eclipse作爲我的編輯器。我聽說rails程序員通常使用prototype作爲他們的java選擇工具,但我真的很喜歡jQuery(甚至mootools)。我也聽說jRails是將jQuery與我的ruby應用程序聯繫起來的東西。

鑑於我將tomcat與使用Eclipse作爲IDE的jRuby結合使用,您會如何處理javascript/ajax,以及哪些有用的插件,軟件或您可以提供幫助的提示我開始用紅寶石在軌道上右腳?

回答

4

我會堅持jQuery爲您的JS/ajax。我的看法是,RJS/Prototype對jQuery不起作用,但那可能就是我。如果您想使用RJS從Ruby代碼生成JavaScript,那麼jRails將適合哪裏。我的個人偏好是將所有的JavaScript保存在application.js中並保留它unobtrusive

一些插件,我喜歡有AuthlogicNifty GeneratorsPaperclipssl_requirementsubdomain-fuQueryTrace

一對夫婦很好的出發資源是Rails GuidesRailscasts。我認爲在學習框架之前學習這門語言本身是個好主意,但我相信可以用最少的Ruby知識開發一個簡單的Rails應用程序。

至於你的應用程序堆棧,我會建議重新考慮將Rails應用程序部署到Windows。即使在Windows上開發Rails應用程序也可能會很痛苦。如果可以的話,我會得到一臺運行Ubuntu的虛擬機(或舊機器)並使用MySQL。如果您要在Rails上尋找全文搜索,您可以使用Thinking Sphinx - 如果您有興趣,可以使用Railscast。我還會輕輕推薦一個文本編輯器,而不是一個完整的IDE - 我喜歡OS X上的TextMate和Linux上的gedit。

當我決定學習Rails時,我也有過微軟的背景。我有很多東西需要 - 沒有框架假裝網絡是有狀態的(asp.net),學習一種新的語言,學習一個新的框架,獲得更強的css/html/javascript技能,新的操作系統(OS X和Linux爲我),學習新的數據庫。總的來說,我很高興我做到了。我是一個更好的開發者。

+0

能否用jQuery替換Scriptaculous就是Rails 3的列表,它應該更容易做到。另外,Railscast的+1。 – 2009-11-13 15:16:51

2

如果您想成爲市場營銷人員,我會從學習最低公分母默認的Rails堆棧開始,以獲得廣泛的吸引力。那麼也許可以考慮獲得更多的專業技能,以提升您的潛在客戶/僱主子集的價值。

這幾乎意味着在Apache * nix世界中,瞄準MRI 1.8.6/7,Rails 2.3.4(考慮除了erb和test/unit之外,至少要學習HAML和rspec)和MySQL。

我不會推薦學習有關部署到Windows堆棧的知識 - 服務器的目標絕大多數是Linux或其他一些* nix的風格。對於開發Web服務器的目的,Mongrel在Windows上工作良好。通過一切手段在Windows上構建 - 我的確沒有太多的痛苦 - 但要注意Ruby/Rails社區的可見部分(主要開發庫和框架的人以及大多數寫這些的人)在線)主要是OSX或Linux用戶,所以Windows用戶往往會涓涓細流,特別是在需要操作系統交互的地方,或者在編譯元素到庫的地方。另外,我很可靠地被告知Rails在Windows上的啓動速度是,遠遠低於。我不想親自確認 - 我可能會感到不安。

MSSQL在Rails中可以正常工作,但出於上述原因,我會謹慎使用任何特定於平臺的功能:您不太可能找到一個將很樂意部署到混合Win * nix環境的站點。 MSSQL ActiveRecord代碼也可能不如MySQL或SQLite那樣強硬 - 我曾在任何版本的任何Rails相關代碼中發現過一個bug。也就是說,如果您不使用任何特定於MS的功能,您會發現輕鬆移植。但是,如果你不使用任何額外的東西,爲什麼不完全跳過它?有足夠的差異(MySQL中的查詢「優化器」需要一些習慣),你可能更適合學習你最有可能定位的平臺。

至於Eclipse,它顯然是一個成熟的開發環境,但我不確定Rails插件有多好(並且作爲Lotus Notes的人質,我對使用Eclipse過度使用並非是絕對必要的)。如果你不能沒有IDE(我建議你嘗試 - 你會學到更多),那麼有several SO questions涵蓋了替代品。

1

在您的項目中使用Solr並不需要您擁有用於運行實際Rails應用程序的Java堆棧。那裏有quite a few Ruby libraries,可以幫助您輕鬆地與Solr後端進行交互。有幾個來看看:

  • solr-ruby –這是包含在Solr的分佈官方客戶端庫。它比其他一些替代方案要低,但是在實現你所需要的功能方面給了你很大的靈活性。
  • rsolr –看起來像solr-ruby的替代品的另一個底層庫。乍一看,它似乎更頻繁更新。
  • sunspot –我還沒有使用過這個,但它看起來像是目前最流行的Solr => Ruby對象映射庫。 acts_as_solr圖書館曾經是一個選擇,但我認爲它已經失寵。

我同意你想針對一個C的Ruby/* NIX環境中的其他海報,但如果使用的是Tomcat/JRuby的幫助您瞭解更快,可以去了。