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

使用Rails 3开始一个新的Web应用程序。我仍然是Web开发的新手,并且非常喜欢在使用Ruby 1.8.7和Rails 2.3.5时可用的所有Internet资源。 有关在我的新项目使用Ruby 1.9.2的任何建议吗?

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

幸运的是,自从我发布这个问题后 ,情况发生了变

轨道

除非你确实有一些东西阻止你这样做,否则我强烈建议你从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开始。

它最终取决于项目是什么。 如果它是一个个人项目,并且您正在使用它作为学习Ruby / Rails的一种手段,那么我认为值得学习并使用最新的工具。 如果这是客户端工作,或者您的主要目标只是完成该项目的项目,2.3.5 / 1.8.7可能是最佳选择,因为您提到的资源,以及许多支持库/gem将工作。 你必须在某些时候学习Rails 3 / Ruby 1.9.x,因为这绝对是社区的发展方向。

我会做一些研究,看看你的项目需要什么gem,并确保如果你选择Rails 3 / 1.9.2路线,一切都得到支持。 此外,加入irc并询问其他人对任何gem的体验。

我可以告诉你,我有一个小型的Rails 3 / 1.9.2应用程序,它在生产中运行得很好,虽然它非常小并且是个人项目。

您可能希望使用RVM来试用Ruby 1.9.2

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