使用Rails開始一個新的Web應用程序3.我還是比較新的Web開發,並且在Ruby 1.8.7和Rails 2.3.5中工作時,我非常喜歡所有可用的Internet資源。任何建議針對在我的新項目上使用Ruby 1.9.2?我應該在新的Web應用程序中使用Ruby 1.9.2嗎?
回答
我已經成功地將Ruby 1.8.7/Rails 2.3.5中的所有Rails項目(除了一個,但我正在處理它)轉換爲Rails 3.0.0和Ruby 1.8.7/1.9.2 RC2而且這兩種環境都非常穩定。
幸運的是,自從我發佈this question以來,情況發生了變化。
Rails的
除非你真的有東西阻止你這樣做,我強烈建議你開始使用Rails 3 從梁2的應用升級到Rails 3中所需的工作應勸阻你從開始的Rails 2.
談到插件和寶石,許多開發人員開始將他們的庫轉換爲Rails 3.目前有一個非常高的兼容性級別。 此外,Rails 3重點插件通常比Rails 2.3更強大,這要歸功於新的Rails插件API。他們可以加載任務,不再濫用猴子補丁或依賴內部黑客。
此外,Rails 3即將發佈。除非您的項目將在1周內部署,否則穩定版本可能會在您部署代碼之前提供。 我不會發生這種情況,考慮到我目前在生產環境中管理幾個Rails 3項目,並且它們非常穩定(Rails 3 RC1,Beta 4在緩存環境中有一個非常奇怪的錯誤)。
的Ruby 1.9.2
的Ruby 1.9.2方式比Ruby 1.8.7更加強大。如果這是一個全新的項目,我建議你使用1.9分支。
通常,在Ruby 1.9中啓動一個新項目比轉換現有項目更容易。
Ruby 1.9.2比REE更快,速度更快。大多數常見的Ruby 1.8.7 Gems除Ruby之外的其他版本,如RCov。 同樣,你很難去需要一個不適合於Ruby 1.9.2的庫。
如果發生這種情況,很可能這是一個過期的庫,Ruby生態系統中可能會有更好的替代品。
如果您找不到替代方案,請記住,由於Bundler,Rails 3提供了使用自定義庫的絕佳方法。 您可以分解項目並讓Bundler使用您的分叉。您甚至可以將庫整合到您的回購庫中,並要求Bundler從路徑加載庫。
結論
從我個人的經驗,我已經很高興使用Ruby 1.9.2和Rails 3. 這是迄今爲止我最喜歡的環境和新的項目我的默認環境。
如果您不能使用Ruby 1.9.2,請嘗試使用Ruby 1.8.7。 在另一邊,我強烈建議你開始使用Rails 3
它最終取決於項目是什麼。如果這是一個個人項目,並且您正在使用它作爲學習Ruby/Rails的手段,那麼我認爲這值得學習和使用最新的工具。如果這是客戶端工作,或者您的主要目標只是爲了完成此項目,那麼2.3.5/1.8.7可能是最好的選擇,因爲您提到的資源,以及大量支持庫/寶石只是工作。您將不得不在某個時間學習Rails 3/Ruby 1.9.x,因爲這絕對是社區領導的地方。
我會做一些研究,看看你的項目需要什麼樣的寶石,並確保如果你選擇Rails 3/1.9.2路由支持所有的東西。此外,加入IRC並詢問有關其他人的經驗與任何寶石有問題。
我可以告訴你,我有一個小的Rails 3/1.9.2應用程序,在生產環境中運行良好,雖然它非常小並且是個人項目。
感謝您的洞察力。我沒有考慮寶石兼容性。這不是爲了客戶,而是爲了嚴肅的生產。我傾向於用它去。 – ScotterC 2010-08-20 18:45:14
除非您在應用程序中使用某些花哨的字符編碼,否則,gem兼容性將是您最大的問題。許多寶石開發人員正在研究Rails 3的兼容性,大多數流行的寶石至少有一些適用於Rails 3的東西,即使它是測試版。 – bobbywilson0 2010-08-20 19:05:45
我同意,再加上1.9.2剛剛發佈,所以可能有一些bug仍然存在... – rogerdpack 2010-08-20 20:09:53
- 1. 我應該在Rails 2.3.10應用程序中使用Ruby 1.9.2嗎?
- 2. 我應該在啓動一個新的Rails 3.0項目時使用ruby 1.9.2嗎?
- 3. 我應該使用Git來部署Web應用程序嗎?
- 4. 我應該使用純PHP/MySQL開發Web應用程序嗎?
- 5. 調試Ruby on Rails應用程序1.9.2
- 6. 我應該在Java Web應用程序中使用安全管理器嗎?
- 7. 我應該在新的應用程序中使用Postgres的bigserial記錄嗎?
- 8. 我應該在小應用程序中使用OODB嗎?
- 9. 使用java web應用程序的OpenId - 我應該使用RPXNow嗎?
- 10. 我應該考慮使用VPS來託管我的Web應用程序嗎?
- 11. LINQ datacontext應該存儲在web應用程序的request.items中嗎?
- 12. 我應該在ASP.NET MVC中構建我的下一個Web應用程序嗎?
- 13. 我應該使用rails 3.0生產應用程序的1.9.2還是1.8.7?
- 14. 我應該使用Redux創建我的ReactNative應用程序嗎?
- 15. 我應該在我的應用程序中使用Facebook用戶ID嗎?
- 16. 我應該使用類庫項目還是新的Web應用程序?
- 17. 我應該使用rails 3.2.12在heroku上更新到ruby 2嗎?
- 18. 我應該在我的商業應用程序中使用開源軟件嗎?
- 19. 我應該在我的和應用程序中使用解析嗎?
- 20. 我應該使用IndexedDB for web-app嗎?
- 21. 我應該爲我的新webapp使用Google Web Toolkit嗎?
- 22. 使用Ruby 1.9.2緩慢部署大型Rails 3應用程序
- 23. 數據集應該在企業級Web應用程序中使用嗎?
- 24. 在Ruby中,使用Cucumber,我應該嘲笑調用web服務嗎?
- 25. 將Ruby 1.9.2升級到1.9.3,我應該重新安裝所有的寶石嗎?
- 26. 我應該在反應原生應用程序中使用多個圖像嗎?
- 27. 我應該在Web應用程序中放置清理代碼?
- 28. 我的基於web的應用程序應該是我api的消費者嗎?
- 29. Expando類應該在Google App Engine應用程序中使用嗎?
- 30. RendictUrl應該在Cordova應用程序中使用ADAL嗎?
從Rails3和Ruby 1.9.2開始,我絕對喜歡它!所有在Rails2中並不輕鬆的事情都已經消失了,並被Rails3所取代。RESTful lovin如新路線和ActiveRecord查詢 – ScotterC 2010-08-25 17:24:50