10

使用 Rails 3 开始一个新的 Web 应用程序。我对 Web 开发还比较陌生,并且在使用 Ruby 1.8.7 和 Rails 2.3.5 工作时非常享受所有可用的 Internet 资源。有什么反对在我的新项目中使用 Ruby 1.9.2 的建议吗?

4

3 回答 3

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 在缓存环境中有一个非常奇怪的错误)。

红宝石 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。您可以分叉项目并要求 Bundler 使用您的分叉。您甚至可以将库集成到您的存储库中,并要求 Bundler 从路径加载库。

结论

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

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

于 2010-08-20T19:54:12.607 回答
2

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

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

我可以告诉你,我有一个小型 Rails 3 / 1.9.2 应用程序,它在生产环境中运行良好,尽管它非常小并且是一个个人项目。

于 2010-08-20T17:55:04.577 回答
1

您可能想通过使用RVM来试用 Ruby 1.9.2

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

于 2010-08-24T14:02:52.213 回答