我应该在我的新网络应用程序中使用Ruby 1.9.2吗?

时间:2010-08-20 16:46:45

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-1.9

使用Rails开始一个新的Web应用程序3.我仍然相对较新的Web开发,并且非常喜欢在Ruby 1.8.7和Rails 2.3.5中工作时可用的所有Internet资源。在我的新项目中使用Ruby 1.9.2的反对的任何建议?

3 个答案:

答案 0 :(得分:6)

我已经成功地将所有我的Rails项目(除了一个,但我正在研究它)从Ruby 1.8.7 / Rails 2.3.5转换为Rails 3.0.0和Ruby 1.8.7 / 1.9.2 RC2两种环境都很稳定。

幸运的是,自我发布this question以来,事情发生了变化。

<强>滑轨

除非您确实有某些事情阻止您这样做,否则我强烈建议您从Rails 3开始。 将应用程序从Rails 2升级到Rails 3所需的工作应该阻止您从Rails 2开始。

谈到插件和Gems,许多开发人员开始将他们的库转换为Rails 3.目前,它具有非常高的兼容性。 此外,由于新的Rails插件API,Rails 3专注插件往往对Rails 2.3更强大。他们可以加载任务,不再滥用猴子补丁或依赖内部黑客攻击。

此外,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 1.9,除了一些,比如RCov。 同样,你很难需要一个不能与Ruby 1.9.2一起使用的库。

如果它发生了,很可能这是一个过时的库,并且Ruby生态系统中可能有更好的替代品。

如果您找不到替代方案,请记住,由于Bundler,Rails 3提供了一种使用自定义库的绝佳方法。 你可以分叉项目并让Bundler使用你的fork。您甚至可以将库集成到您的存储库中,并要求Bundler从路径加载库。

<强>结论

根据我的个人经验,我对Ruby 1.9.2和Rails 3非常满意。 这是我最喜欢的环境和新项目的默认环境。

如果你不能使用Ruby 1.9.2,请尝试使用Ruby 1.8.7。 另一方面,我强烈建议您从Rails 3开始。

答案 1 :(得分:2)

最终取决于项目是什么。如果它是一个个人项目,并且您正在使用它作为学习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应用程序,它在生产中运行得很好,虽然它非常小并且是个人项目。

答案 2 :(得分:1)

您可能希望使用RVM

来试用Ruby 1.9.2

我一直在使用它来开发一些Rails3应用程序,同时维护我们当前的生产站点(一直到Rails 2.2 / Ruby 1.8.5)。 只有抱怨必须记住启动RVM ^^