文章出處

<iframe src="http://channel9.msdn.com/Series/MVA-China/Web20140611A01/player?h=540&w=960&format=html5" style="height:540px;width:960px;" allowFullScreen frameBorder="0" scrolling="no">

一些感想

這段視頻雖然標題設定為 Visual Studio 2013 最新版本發布,但其實并沒有對 Visual Studio 2013 進行過多的介紹,而更多的是講述微軟對 ASP.NET 的發展規劃,特別是對 Web 的重視,我覺得非常好,下面談一下我的一些感想,當然只是個人觀點,勿喜請噴。

其實說到 Web,就不得不提喬布斯在《遺失的訪談(1995)》中對未來十年技術發展的預言,沒錯,喬布斯就預言了 Web,而十年后,二十年后,確實如預言的那樣,不得不說他是“神”一樣的存在。但二十年的今年,現在的 Apple 并沒有多重視 Web,反而把大把的精力放在 App 上,這就有點不應該,反觀 Apple 的對手微軟,仿佛是看了喬布斯訪談一樣,越來越重視 Web 了,當然我個人覺得,一部分原因是 Windows Phone 的不給力。

視頻中首先談到的是 ASP.NET 不再那么神秘了,確實如此,現在我們可以在 CodePlex 上獲取 ASP.NET MVC 、EntityFramework 等源代碼,甚至可以進行修改提交,Scott Hunter 提到現在 ASP.NET MVC 中兩個重要功能(屬性路由和 Web API 的跨源支持),就是來自于社區代碼的提交,這是開放的一種表現,對開發者,對微軟都有好處。

ASP.NET 我們都很熟悉,Web Tools 是什么?簡單的說,就是我們用的 Visual Studio,但其實只是 Visual Studio 中的應用之一,我們現在所開發的 ASP.NET 是離不開 Web Tools 的,為什么?因為從項目新建-前段設計-后端代碼編寫-程序調試-程序發布等等,這些操作都是使用 Web Tools 完成的,也就是說 ASP.NET 和 Web Tools 就像是一對連體嬰兒,誰也離不開誰。但這種“緊密的關系”往往就失去了一些開發所獨有的“創造性”,試想一下,如果 ASP.NET 和 Web Tools 可以獨立運作,這又是一種怎樣的場景?用 Text 編寫 ASP.NET 應用程序?這個已經不是夢想了。

One ASP.NET,請注意在圖中間部分的兩邊有兩個“YOU”,這是什么意思呢?我們知道 ASP.NET 的運行必須建立在 .NET Framework 支持的基礎上,也就是說必須是 Windows 環境,但是現在,我們可以在 ASP.NET 中融入任何我們想要的東西,比如自己喜歡的插件、框架、項目等,因為第三方的支持,我們可以想做任何我們想做的事,這不是爽一點的問題,而是爽到了極點。昨天在 YouTuBe 上看了一個哥們在 MAC OS 上開發運行 ASP.NET VNext 的視頻(只需要一個編輯器和一個命令工具),很是激動啊,過幾天我也嘗試下。

在這段講述中,Scott Hunter 除了強調 ASP.NET Identity 的改進之外,還說到了他最喜歡到 ASP.NET MVC 屬性路由,來自社區代碼的提交,可能是一些開發者厭煩了之前 URL 繁瑣的配置,所以在 ASP.NET MVC 中增加了屬性路由。關于 EntityFramework,他講到了這樣一個問題:

在一個 ASP.NET 應用程序中有兩個頁面,一個是靜態頁面,一個是需要數據庫讀取頁面,如果我同時頻繁訪問這兩個頁面,你認為會發生什么?

Scott Hanselman:我猜靜態頁面與數據庫無關。

Scott Hunter:不是的,鑒于這個原因,每次執行數據庫操作和網絡操作時,都應該使用異步支持,我們有一個基準測試表明,實際會發生的是,每次執行進行數據庫調用的頁面時,在等待該操作發生的整個期間,系統將在 ASP.NET 線程池中存留一個線程,因此如果你多次訪問該頁面,就會消耗掉線程池中的所有線程,就沒有線程為靜態頁面提供服務了,因此一個數據庫頁面可能會在你不知情的情況下影響整個應用程序的性能,讓線程池“挨餓”,通過使用權重,任何時候,當你使用 EntityFramework 時,都不會再讓線程池“挨餓”,靜態頁面永遠不會損失性能,因為另一個頁面在運行并進行數據庫調用。

后面提到 EntityFramework 的數據庫遷移(主要時針對)、Code First。。。

視頻的最后就是講述 Visual Studio 2013 的具體更新了,關于這一部分我不是很感興趣,只是大概的看了下,主要將了亮點內容:

  1. 精簡 ASP.NET 模塊:新建 ASP.NET App 的模版,由原來的 20 個減為 6 個,另外 Web Forms、MVC、Web API 之間更好的“混搭”。
  2. 云的支持(Windows Azure):關于 Visual Studio 2013 中使用 Windows Azure,Scott Hunter 進行了詳細的演示,一個新建,一個勾選,一個 Windows Azure 下的 ASP.NET 就這樣創建好了,如此簡單。我比較感興趣的是 Windows Azure 運行下,Visual Studio 2013 中調試 ASP.NET,有機會可以嘗試下。

最后

看完這段視頻(昨天晚上),我個人覺得 MSDN 應該是 .NET 程序員常去的社區,為什么?當你還在糾結 ASP.NET Web Forms 和 ASP.NET MVC 時,你所不知道的是,人家已經在 MAC OS 中使用 ASP.NET VNext 了。


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()