Ruby on Rails團(tuán)隊(duì)最近發(fā)布了Rails 4.0。經(jīng)過(guò)一年半的開發(fā),Rails 4帶來(lái)了一些有趣的新特性,比如Turbolinks、改進(jìn)的緩存以及默認(rèn)的線程安全性。很多新特性已經(jīng)在37 Signals的Basecamp Next項(xiàng)目中有所應(yīng)用。
Turbolinks會(huì)將Rails應(yīng)用變換為單頁(yè)JavaScript應(yīng)用,這樣就不再需要加載新頁(yè)面了,而只需要用來(lái)自服務(wù)器的新內(nèi)容替換當(dāng)前頁(yè)面:
這與pjax非常類似,不過(guò)在使用pjax時(shí),需要考慮替換當(dāng)前頁(yè)面上的哪些內(nèi)容,還要對(duì)服務(wù)器端的響應(yīng)加以裁剪,以適應(yīng)當(dāng)前頁(yè)面,而在使用Turbolinks時(shí),我們會(huì)替換全部?jī)?nèi)容。這意味著我們能獲得pjax的大部分速度(無(wú)需重新編譯JavaScript或CSS),同時(shí)不需要去裁剪tb服務(wù)器端的響應(yīng)。
Rails 4還支持基于鍵值的緩存過(guò)期(key-based cache expiration),該特性可以將緩存失效自動(dòng)化,進(jìn)而可以更容易地實(shí)現(xiàn)復(fù)雜的緩存結(jié)構(gòu)。
該版本不再支持Ruby 1.8,建議用戶升級(jí)到Ruby 2。它仍然支持Ruby 1.9,但從Rails 5開始要求至少使用Ruby 2。該版本照例提供了從Rails 3.2遷移到Rails 4的升級(jí)指南。
一些流行的Rails書籍也進(jìn)行了相應(yīng)更新,比如Sam Ruby的Agile Web Development with Rails 4,前InfoQ編輯Obie Fernandez的The Rails 4 Way。
關(guān)于改進(jìn)的詳細(xì)信息,請(qǐng)參考更新日志。您是否已經(jīng)將應(yīng)用升級(jí)到了Rails 4?我們期待您分享自己的經(jīng)驗(yàn)!