2013年6月25日,星期二

Rails 4.0:最终版本发布!

由 dhh 发布

经过详尽的 Beta 版和 Release Candidate 版的测试,Rails 4.0 终于准备就绪。这是一个令人惊叹的新版本,充满了新功能,也告别了过时旧功能。

一个重要的关注点是,在无需转向客户端 JS/JSON 服务器的路径下,能够极其简单地构建现代的、速度飞快的 Web 应用程序。这项工作中的许多内容在 Basecamp 新版本中已经为 Rails 开创,并侧重于三个方面:

  1. 通过基于键的过期,并自动管理嵌套模板的依赖关系(最初在 cache_digests 插件中探索),可以非常轻松地实现 Russian Doll 缓存。
  2. 借助 Turbolinks 加速客户端,它本质上使您的应用程序在速度方面成为一个单页 JavaScript 应用程序,但没有开发上的任何缺点(除了可能与某些现有 JavaScript 包的兼容性问题)。
  3. 声明式的 etags 使确保您利用 HTTP 新鲜度更加容易。

对于那些希望构建客户端 JS 视图(使用 Ember.jsBackbone.jsAngular.js)的人来说,Rails 当然仍然是一个出色的 JSON 服务器。但是,随着我们在 Rails 4.0 上取得的进步,您肯定不需要为了拥有一个速度极快的应用程序而走那条路。

我们还增加了持久连接的实时流,Rails 4.0 现在开箱即用,可以安全地运行在多线程服务器上(不再需要 config.threadsafe!)。

Active Record 也得到了大量的改进,使得与作用域和查询结构相关的所有内容更加一致。我们还在此版本中进一步收紧了通用的安全默认设置。

除了这些新功能和修复之外,我们还有数百项其他改进。一切都经过了仔细检查、优化、简化,我们还移除了许多旧的 API 和“大多数时候不适合大多数人”的功能。

Active ResourceActive Record Observers,以及 Action Pack 的页面缓存动作缓存,都已不再是核心部分,而是继续存在于插件中。

我们鼓励您仔细阅读所有 Rails 框架的 CHANGELOG,并欣赏我们在 Rails 4.0 中所做的数百项改进:Action PackActive ModelActive RecordActive SupportRails

如果您正在将现有应用程序升级到 Rails 4,请查看升级指南Railscast 屏幕录像。像往常一样,使用 gem install rails --version 4.0.0 --no-ri --no-rdoc 安装最新版本,或依赖 v4.0.0 标签。如果您还没有这样做,现在也是升级到 Ruby 2.0 的好时机。Rails 5+ 将需要 Ruby 2.0,所以您不妨提前准备。

如果您想了解更多关于开发 Rails 4 应用程序的信息,今天也发布了《Agile Web Development with Rails 4》的最终版本。更高级的《Crafting Rails 4 Applications》也处于 Beta 阶段后期。对于屏幕录像,请查看新的 Rails 4: Zombie OutlawsMike Clark 的 Rails 4 课程。现在有来自各种其他作者和广播公司的最新材料和书籍,所以这次我们在这方面培训材料的时机恰好赶上了发布。

最后,感谢所有为此次发布做出贡献的人。在最新的 3.2 版本和 Rails 4.0 之间,有大约 10,000 次提交,并且仅在 2013 年就有约 500 人做出贡献。我们拥有比以往任何时候都更大、更活跃的社区,这体现在:Rails 4 是一个极其精良的版本。这是一个真正的里程碑,也是社区中每个人都引以为豪的成就。