【问题标题】:Should I use Ruby 1.9.2 with my new web app?我应该在我的新 Web 应用程序中使用 Ruby 1.9.2 吗?
【发布时间】:2010-08-20 16:46:45
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 从 Rails3 和 Ruby 1.9.2 开始,我非常喜欢它!所有在 Rails2 中来之不易的东西都消失了,取而代之的是好的 Rails3 RESTful 爱好,例如新路由和 ActiveRecord 查询
    【解决方案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 应用程序,它在生产中运行良好,虽然它非常小并且是一个个人项目。

    【讨论】:

    • 感谢您的洞察力。我没有考虑宝石兼容性。这不是为客户准备的,但它适用于严肃的生产。我倾向于使用它。
    • 除非您在应用程序中使用一些花哨的字符编码,否则 gem 兼容性将是您最大的问题。许多 gem 开发人员都在致力于 Rails 3 的兼容性,大多数流行的 gem 至少有一些适用于 Rails 3 的东西,即使它是 beta 版。
    • 我同意,而且 1.9.2 刚刚发布,所以可能还有一些错误......
    • @rogerdpack:如果没有人使用这些漏洞,如何发现它们?没有一个版本是完美的,但人们需要开始迁移到最新版本。
    • 找到了一个很好的 gem 兼容性网站railsplugins.org 列出(以彩色格式)哪些 gem 适用于 rails3、ruby1.9.x 等。
    【解决方案3】:

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

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

    【讨论】:

    • 爱 RVM。让生活更轻松。
    猜你喜欢
    • 1970-01-01
    • 2021-11-24
    • 2017-11-29
    • 2011-04-01
    • 2021-08-20
    • 1970-01-01
    • 2010-11-07
    • 2014-10-21
    • 2015-08-12
    相关资源
    最近更新 更多