2009年Rails框架 優(yōu)化性能積極改進
Rails 2.3將優(yōu)化性能和記憶存儲
隨著本月Rails多種功能的升級和與Merb網(wǎng)絡(luò)框架合并。相信對于Ruby on Rails Web應(yīng)用開發(fā)架構(gòu)來說,2009年是忙碌的一年。
首先是開源Rails架構(gòu)2.3版本的發(fā)布,該版本優(yōu)化了定制模板和存儲量性能,并且能夠用Ruby寫性能最依賴部分。Rails 2.3還具有HTTP摘要式身份驗證,一個API身份驗證。
Rails 2.3及早地利用了Merb長處,Rails 3.0預(yù)計在五月左右成形,作為合并后的Merb-Rails發(fā)布,2.3版本在某些方面是3.0版的前奏,其性能提升帶來了從Merb。
例如,Rails 2.3的respond_to阻止功能,允許一個應(yīng)用程序響應(yīng)單獨的HTML,XML或JavaScript的請求,而這比原來的版本要快百分之八。
2.3版本的其他變化與Merb無關(guān)。例如,新的模板功能中添加了許多模板創(chuàng)建的具體功能,如插件,而不是僅僅空有一個架子??梢栽黾右粋€插件,例如,為確保由RSpec框架而不是默認的單元框架測試應(yīng)用程序,頁碼標注插件也可以添加在模板中。
2.3版本的機架功能充當共享基礎(chǔ)結(jié)構(gòu),這使不同的Ruby架構(gòu)更易于同時運行。例如,開發(fā)人員可以Rails項目中添加一個建立在更輕巧的Sinatra架構(gòu)上的應(yīng)用程序。
2.3版本的Rails Metal功能讓開發(fā)人員可以直接用Ruby編寫應(yīng)用程序的某部分以提高性能。Rails Metal基本上是Rails的匯編程序,你可以丟棄所有的預(yù)置功能,這樣你通??墒褂肹it]來為一小部分應(yīng)用程序加速。
Rails 3.0 將吸收Merb的優(yōu)點
和2.3版本的一些卓越功能一樣,Rails 3.0看起來會有更大的升級。5月,在拉斯維加斯舉行的RailsConf上預(yù)計會發(fā)布一個候選的版本。
Rails 3.0將充分利用Merb的努力。Rails與Merb的合并也是因為他們意識到彼此的目標都是一致的。
所有的Merb成員都曾是Rails的開發(fā)者,他們創(chuàng)建Merb ,因為他們有一系列感興趣的問題,如性能優(yōu)化和有關(guān)Rails架構(gòu)的不可知論。例如,Rails對對象關(guān)系映射使用活躍記錄,而Merb支持者希望使用DataMapper或Sequel。
Rails 3.0將給Merb帶來改變,如架構(gòu)不可知論將融合Rails側(cè)重于強效默認設(shè)置理念。 Merb希望通過插件擴展Rails而發(fā)布API的想法也將是合并內(nèi)容之一。
現(xiàn)在,對于Rails插件來說,不良生態(tài)系統(tǒng)已經(jīng)令人難以置信。就是因為缺乏明確的API ,所以Rails更新的時候,插件往往違規(guī)。Merb所帶來的還有映射瀏覽器請求的路徑選擇。Merb在這方面提供的選擇比Rails要多。
Merb致力于Rails棧。最初創(chuàng)建Merb架構(gòu)的目的是為解決Rails中異步處理的問題。 當時,Rails是一個單線程應(yīng)用程序,使用Rails的進程來處理,所以例如文件上傳這樣的操作是不允許的。Merb最初創(chuàng)立時,專門為解決文件上傳的問題,隨后它迅速成為其他不滿足于Rails的人的一種共識。
基本上,Rails與Merb的發(fā)展方向是一致的(Merb和Rails都由Ruby分化而來,兩者都是開源項目)?,F(xiàn)在的合并是Merb成員選擇加入到Rails的團隊中。兩隊合并將更有助于我們創(chuàng)建一個架構(gòu),且該架構(gòu)將兼具Rails和Merb的優(yōu)點。
Rails與Merb合并帶來的連鎖反應(yīng)
有一些在線評論,對這種競爭性質(zhì)的合并給予了一些批評。但是Rails的顧問Jade Meskill卻支持兩大架構(gòu)的合并,他強調(diào)這樣的結(jié)合為Ruby社區(qū)帶來了團結(jié)。競爭肯定是有價值的,特別是對于這個領(lǐng)域,對于這一特殊的技術(shù)。
Meskill預(yù)計合并所帶來的好處之一就包括,作為開發(fā)語言之一的Ruby和作為Web平臺的Rails都將獲得更廣泛的認可?!昂喜⒋_實提供統(tǒng)一,但有可能會出現(xiàn)和形成的又一類似的項目”,IDC的應(yīng)用軟件開發(fā)項目負責人兼分析師Al Hilwa稱,“有可能是Merb的一種增值”。
【編輯推薦】