Rails 3首个Beta版发布

自上个版本的Ruby on Rails发布不到一年,在超过4000次提交之后,Rails 3.0的beta版已经发布。

版本号从2.3升至3.0绝对当之无愧,因为Rails 3并不仅仅是一些小修小改,它还将Rails 2.3和先前的竞争者Merb合并起来,将各自的优点合二为一:

Merb团队加入后带来的都是些很棒的主意,包括关注到框架中晦涩难懂的部分,更快更轻量级的内部实现,以及一些“美味可口”的API。

除了众多内部实现的清理以外,Rails 3当然也增添了新的特性。以下摘自发布说明:

  • 引入全新的Router,强调RESTful的声明(详见Yehuda Katz的介绍)
  • 全新的Action Mailer API,效仿自Action Controller(详见Mikel Lindsaar的介绍)
  • 全新的Active Record链式查询语言,基于关系代数构建(详见新API)
  • 使用Unobtrusive JavaScript助手与Prototype或jQuery以及其他JS框架进行集成(内联JS的终结)
  • 使用Bundler进行显式的依赖管理

安全则是另一个受到重点关注的领域,正如Yehuda Katz在接受SD Times采访时说道:

我们详细研究了已知现存的安全缺陷,这主要基于Twitter上的讨论,以及别人抱怨说:“你们的安全工具现在就是个体力活”。[为了避免跨站脚本缺陷 ..] 我们仔细检查了整个Rails的内部实现,将所有的form标签标记为safe,这解决了绝大部分的问题,用户就轻省得多了。[..] 现在偶然出现一个XSS攻击已经不太可能了。

要了解更多关于Rails 3.0的信息,请阅读发布说明,里面详细地介绍了每个变化。Yehuda还写了篇过去一年的回顾,高屋建瓴地(相比较发布说明而言)对变化进行了总结和概括。Jeremy McAnally在博客上开始编写系列文章“将技术和代码迁移到Rails 3”。系列的第一部分对Rails经历的变化进行了概要性的介绍,第二部分名为“通往升级之路”。RubyInside收集了36条Rails 3.0相关的链接。

Rails 3.0能够在Ruby 1.8.7、Ruby 1.9.2和JRuby上工作,但目前还不能运行在IronRuby上。因为目前的IronRuby主干(将要发布的1.0版本)仅支持1.8.6,而Rails则需要部分1.8.7的特性。在IronRuby 1.0以后,项目将会切换到对1.9的支持上,这样IronRuby就能够支持Rails 3。目前在IronRuby-core邮件列表中,尚有人讨论是否在IronRuby 1.0上增加1.8.7的特性,来使得Rails 3可以正常运行。

想要了解是否可以尝试将自己的应用升级到3.0,可以去看看新RailsPlugins.org维护的一个插件目录,其中包含了插件对于Rails 3.0的兼容情况。

最终版的发布日期尚未宣布。你对Rails 3有什么想法?你已经为升级做好准备了吗?

查看英文原文:First Rails 3 Beta Released

你可能感兴趣的:(Rails 3首个Beta版发布)