Rails 3 Beta版本月將出 Merb融合帶來更多選擇
原創(chuàng)【51CTO精選譯文】Rails 3,目前流行Web開發(fā)框架Rails的一個(gè)升級(jí)版本,正試圖通過升級(jí)的方式實(shí)現(xiàn)與Merb框架的合并,這一切將包括在1月底的Beta版中。以上消息由Rails框架創(chuàng)始人DHH在1月4日下午透露。早在2009年1月,51CTO就注意到Rails將會(huì)有重大改變,并以《2009年Rails框架 優(yōu)化性能積極改進(jìn)》為題提醒大家Rails肯定會(huì)融合Merb。
#T#
Rails創(chuàng)始人DHH(David Heinemeier Hansson)說:“假如我們?cè)?月底還未完成發(fā)布的話,那功能完整的Rails 3 Beta版將不遲于2月份完成?!盧ails 3框架將在2010年第一季度大體上完成全部開發(fā)工作。隨著Beta版本的發(fā)布,Rails開發(fā)者將努力確保對(duì)Rails之前版本的兼容性,并希望通過實(shí)時(shí)應(yīng)用程序完成升級(jí)更新。DHH透露此次合作的意向主要是來自Merb方面,合作后對(duì)于Rails的好處將是全方位的,例如在速度方面。
“程序員將注意到速度的提升,并且很愿意將任務(wù)交給Rails?!闭f這番話的DHH正是37 Sigals公司合作開發(fā)伙伴之一。
Rails的使用者將可以在Rails 3上使用jQuery JavaScript的庫(kù),就像他們?cè)贛erb上做的一樣。JavaScript在Rails上的使用將通過動(dòng)態(tài)更新的方式實(shí)現(xiàn)。51CTO也提醒大家注意《Ruby on Rails開發(fā)的五點(diǎn)建議》。
例如從Merb來的一個(gè)路由API,介紹了一個(gè)傳入請(qǐng)求是如何經(jīng)過路由傳輸?shù)綉?yīng)用程序的?!昂锰幵谟谶@是一個(gè)更明顯具有RESTful風(fēng)格的API,并具有Merb之前一系列特定功能,比如一個(gè)子域路由?!盌HH說。比如一個(gè)應(yīng)用程序中的一部分,只能從一個(gè)子域路由中訪問,這樣安全性就提高了不少。
在未來通過Merb的靈感,一個(gè)API將會(huì)很方便的添加插件。“我們?cè)赗ails上有成百上千的插件可供選擇,所實(shí)現(xiàn)的功能從分頁(yè)到身份驗(yàn)證等都有。”DHH說。另一個(gè)基于Merb的Rails 3能力是將不可知論融入到框架測(cè)試的過程中,開發(fā)者除了可以使用Rails測(cè)試單位框架外,還可以利用rSpec框架。他說“我們希望確保人們?cè)陂_發(fā)Rails時(shí),使用rSpec如同使用測(cè)試單元一樣的好?!?/P>
除開Merb的衍生功能,Rails 3還提供跨站點(diǎn)腳本攻擊防護(hù)功能。此次升級(jí)還為Rails增加了通過關(guān)系代數(shù)進(jìn)行活動(dòng)記錄的對(duì)象關(guān)系映射器?!八麑⑹箯亩鄠€(gè)不同地區(qū)建立一個(gè)查詢更加方便?!盌HH說。
498)this.style.width=498;" border=0>
Rails創(chuàng)始人 David Heinemeier Hansson
在Rails 3中可以從一個(gè)活動(dòng)記錄中提取一個(gè)起作用的模型,比如會(huì)話驗(yàn)證和回復(fù)功能,使他們成為任何non-SQL數(shù)據(jù)庫(kù)的back end。例如,用存儲(chǔ)一個(gè)關(guān)鍵值來取代數(shù)據(jù)庫(kù)。
DHH表示Rails采用一種新的Bundler能力,提供了一種“全新的方法,為Rails應(yīng)用提供可靠的依賴。”。如果一個(gè)應(yīng)用程序依賴一定數(shù)量的Gems——Rails類封裝系統(tǒng),Bundler將創(chuàng)建一個(gè)更加方便重構(gòu)的環(huán)境。依賴將會(huì)被安裝,比如某些版本的數(shù)據(jù)庫(kù)適配器。
有了新的bundler,所有的一切都會(huì)變得清晰,完全可以復(fù)制。
原文標(biāo)題:Rails 3 beta eyed for late January release
作者:Paul Krill