使用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