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

Sco*_*erC 10 ruby ruby-on-rails ruby-on-rails-3 ruby-1.9

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

Sim*_*tti 6

我已经成功地将所有我的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开始.