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

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

使用 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 和两种环境都非常稳定。

幸运的是,自从我发布 this question 后情况发生了变化.

rails

除非你真的有什么东西阻止你这样做,否则我强烈建议你从 Rails 3 开始。 将应用程序从 Rails 2 升级到 Rails 3 所需的努力应该会阻止您从 Rails 2 开始。

谈到插件和 Gem,许多开发人员开始将他们的库转换为 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 Gem 都可以与 Ruby 1.9 一起使用,除了少数几个,例如 RCov。 同样,您很难需要一个不支持 Ruby 1.9.2 的库。

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

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

结论

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

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

关于ruby-on-rails - 我应该在我的新网络应用程序中使用 Ruby 1.9.2 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3533001/

相关文章:

ruby-on-rails - 如果我只需要一个数据库和一个 API,那么使用 Sinatra 而不是 RoR 有什么好处

mysql - ruby on rails 中的 schema.rb 和 mysql 数据库问题

ruby-on-rails - 根据数据库参数限制 ruby​​ 路由

ruby-on-rails - rake 测试运行失败,因为无法加载 'guard'

ruby-on-rails-3 - rails 3.0 attr_encrypted 现有数据库

ruby-on-rails - 找不到没有 ID 的 [model] - Ruby on rails

jquery - Rails_admin 中的自定义 JavaScript,jQuery 事件绑定(bind)

ruby-on-rails - ActiveAdmin:使用菜单标签和菜单父级

ruby-on-rails - 导入数据时如何跳过特定的验证?

ruby - 通过在特定路径配置上使用带有 "s3"的 Paperclip 获得 S3::Error::SignatureDoesNotMatch