Ruby on Rails:3.2 RC1 发布,4.0 将会放弃 Ruby 1.8.7

  • Mirko Stocker
  • 李永伦

2011 年 12 月 26 日

话题:RubyWeb框架Ruby on Rails语言 & 开发

Ruby on Rails 组宣布 Rails 3.2 的首个发布候选版,正好赶上圣诞节。3.2 之后,Rails 的下一个主要发布将会是 4.0。

Rails 3.2 引入了一些新特性和许多小改进。最显著的新特性是更快的开发模式,它将会影响所有用户。根据详细的更改日志,加快开发速度的方式是仅在依赖的文件发生更改时才会重新加载类,而现在的做法是 Rails 会在每次请求时重新加载类。如果你想要 Rails 之前版本的效果,你可以试一下ActiveReload 插件

如果你在处理因数据库查询的低效而导致的性能问题,新的explain 特性或许可以帮你找到问题。Arel 现在提供了一个explain方法,在生成的查询上运行 EXPLAIN 并显示结果。它可以和 sqlite3,mysql2 和 postgresql 的适配器一起工作。当 Rails 发现一个很慢的查询时(默认是 0.5 秒),它就会自动运行 explain,并向你显示结果。

其它新特性包括一个简单的 Active Record 键 / 值存储扩展和一个允许你向日志添加自定义标记的日志记录程序。若想了解所有更改的完整概览,可以查看详细的更改日志

3.2 发布之后将会集中精力开发 4.0 版本,目前计划于 2012 年夏天发布。DHH 解释了他们为何跳到下一个主要版本号:

关于我们将在 Rails 4.0 里包含什么特性目前没有更多的细节,但采用主要版本号的主要目的是放弃 Ruby 1.8.7 的支持。和 Rails 3.0 不同的是,我们希望这个转变更加平滑。

放弃 1.8.7 一开始可能很困难,但 Ruby 组本身也在从 1.8 转移出去:“我们会像往常一样继续为 1.8.7 提供常规维护,直到 2012 年六月为止。…… 从那以后,我们将会停止修正错误,但我们仍然提供安全错误的修正,直到 2013 年六月为止。”除非其他人接手并继续维护它(像Engine Yard 处理Ruby 1.8.6 那样),否则是时候彻底转到 Ruby 1.9 或某个替代实现。

查看英文原文:Ruby on Rails: 3.2 RC1 Released, 4.0 Will Drop Ruby 1.8.7

RubyWeb框架Ruby on Rails语言 & 开发