根據(jù)微軟的年度節(jié)奏,, 已經(jīng)開(kāi)始著手下一個(gè)版本的ASP.NET MVC的規(guī)劃了,。其重點(diǎn)領(lǐng)域包括讓開(kāi)發(fā)和部署工作流程更平滑,共享更多Web Forms特性,,改善對(duì)AJAX的支持,,并在手機(jī)和平板設(shè)備為HTML5提供更好的體驗(yàn)。 警告:在這篇文章中提到的功能仍處于規(guī)劃階段,,未必會(huì)出現(xiàn)在最終版本的MVC 4,。 Recipes 在開(kāi)發(fā)速度方面,MVC框架缺乏復(fù)雜的用戶控件是相當(dāng)不利的,。MVC團(tuán)隊(duì)正在想辦法提供一種方式,,能實(shí)現(xiàn)象Web Forms一樣快速開(kāi)發(fā),而不會(huì)被缺乏控件的情況所拖累,。一個(gè)想法是“Recipes”的使用,。這用一個(gè)例子能夠很好的解釋: 假設(shè)開(kāi)發(fā)人員相要一個(gè)客戶端排序的復(fù)雜網(wǎng)格,。在Web Froms模式,,開(kāi)發(fā)人員會(huì)選擇一個(gè)合適的網(wǎng)格式用戶控件。雖然一些定制是允許的,,但在大多數(shù)情況下,,他們會(huì)被迫接受該控件所有的功能無(wú)論是否是真正想要 的。當(dāng)使用MVC下的recipe,,開(kāi)發(fā)人員將會(huì)在一個(gè)對(duì)話框中選擇他們需要的功能,。然后recipe會(huì)使用必要的類庫(kù)如jQuery來(lái)生成所需的 HTML和JavaScript。 使用recipe的另一個(gè)例子是實(shí)現(xiàn)基于OAuth的認(rèn)證,。通常,,這需要改變好幾個(gè)地方的代碼,其中有一些并非顯而易見(jiàn)的,。在這種情況下,,recipe會(huì)在正確的位置添加所有必要的代碼,這會(huì)顯著減少導(dǎo)致運(yùn)行失敗或安全脆弱性的錯(cuò)誤機(jī)會(huì)。 創(chuàng)作你自己的recipe應(yīng)該不會(huì)有太大困難,。從本質(zhì)上講,,它僅僅是一個(gè)給定的EnvDTE.DTE接口實(shí)例的對(duì)話框。它會(huì)像任何其他Visual Studio插件或宏一樣的工作,,MVC框架將會(huì)處理如在正確的上下文菜單托管recipe這樣的工作,。 移動(dòng)開(kāi)發(fā) 移動(dòng)開(kāi)發(fā)的第一個(gè)變化是改善即用樣式表,讓它們?cè)谛∑聊簧峡雌饋?lái)也很舒服,。這對(duì)于擁有專業(yè)設(shè)計(jì)人員的商店來(lái)說(shuō)沒(méi)什么了不起的,,他們可以從頭開(kāi)始構(gòu)建CSS;但小商店往往依賴于它來(lái)開(kāi)始工作,。 對(duì)于那些想要為他們的移動(dòng)客戶提供更多東西的人,,他們可以選擇設(shè)備特有的視圖。開(kāi)發(fā)者不再需要用CSS和JavaScript來(lái)隱藏不適合屏幕的內(nèi)容,,而是可以完全刪除它們,。這可以立即減少占用的帶寬,并可能產(chǎn)生更快的渲染,。 性能改善 眾所周知,,采用異步技術(shù)可以大大提高單Web服務(wù)器的最大并發(fā)數(shù)量。但同時(shí)大家也都知道異步技術(shù)要求一系列笨重的回調(diào),。 象Web Forms vNext一樣,,MVC將從C#5和VB 11支持async/await 的關(guān)鍵字。在下面的例子中,,你可以看到兩個(gè)異步調(diào)用(可能是到一個(gè)數(shù)據(jù)庫(kù)的調(diào)用)是如何嵌入視圖模型的構(gòu)造函數(shù)里的,。 另一個(gè)性能強(qiáng)化是內(nèi)置的CSS和JavaScript組合包。這對(duì)高容量網(wǎng)站來(lái)說(shuō)是一個(gè)重要功能,,因?yàn)樾枰獊?lái)回取得大量各種CSS和JavaScript,。該功能通過(guò)把這些文件合并為一個(gè)下載文件,并同時(shí)刪除注釋和空白而提高渲染的時(shí)間,。 |
|