Ruby on Rails团队最近发布了Rails 4.0。经过一年半的开发,Rails 4带来了一些有趣的新特性,比如Turbolinks、改进的缓存以及默认的线程安全性。很多新特性已经在37 Signals的Basecamp Next项目中有所应用。
Turbolinks会将Rails应用变换为单页JavaScript应用,这样就不再需要加载新页面了,而只需要用来自服务器的新内容替换当前页面:
这与pjax非常类似,不过在使用pjax时,需要考虑替换当前页面上的哪些内容,还要对服务器端的响应加以裁剪,以适应当前页面,而在使用Turbolinks时,我们会替换全部内容。这意味着我们能获得pjax的大部分速度(无需重新编译JavaScript或CSS),同时不需要去裁剪tb服务器端的响应。
Rails 4还支持基于键值的缓存过期(key-based cache expiration),该特性可以将缓存失效自动化,进而可以更容易地实现复杂的缓存结构。
该版本不再支持Ruby 1.8,建议用户升级到Ruby 2。它仍然支持Ruby 1.9,但从Rails 5开始要求至少使用Ruby 2。该版本照例提供了从Rails 3.2迁移到Rails 4的升级指南。
一些流行的Rails书籍也进行了相应更新,比如Sam Ruby的Agile Web Development with Rails 4,前InfoQ编辑Obie Fernandez的The Rails 4 Way。
关于改进的详细信息,请参考更新日志。您是否已经将应用升级到了Rails 4?我们期待您分享自己的经验!