熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

微軟.NET 4發布 18個月的明星

2013-11-13 10:03:24  來源: .NET編程 

  經過個月的中斷上個月下一代NET Framework 和Visual Studio beta 測試版出現在了開發者的工作站第一個—在某些情況下也是唯一的一個—社區技術預覽(CTP)出現於去年月微軟舉辦的專業開發人員(PDC)會議上

  更新的框架承諾成熟的類庫和新的並行處理能力以促進組件的發展還可以充分利用多核系統的密集I/O能力

  對於NET 來說我看到的新東西少而更多的是對原有功能—Windows Communication FoundationWindows Presentation Foundation工作流服務—的加強和擴展Gartner公司研究部副總裁Mark Driver說我看到的不是大量新的API而是對版本中所引進的API的改進

  Richard Hale Shaw花了他大部分的時間尋找基類庫(BCL)和通用語言運行庫(CLR)這就是他描述的所謂框架的內容我認為有時[微軟]團隊在使開發者更加富有成效方面失去了重點現有產品忽視了這一點正在研發的產品在這方面也差強人意Richar Hale Shaw集團公司的首席執行官Shaw說該公司是一家致力於微軟開發技術的專業公司

  NET 標志著從NET 到CLR的首次重要升級同時推出的還有Visual Studio 和SQL Server 它們充當了NET和NET的執行環境

  個月的明星工具

  上個月在美國洛杉矶舉行的北美微軟技術教育大會上微軟IT專業人員和開發者仔細分析了NET beta 的新特性事實上Windows 和Windows Server R在會議上吸引了大部分人的注意力R包括NET框架的一個服務器核心選項支持ASPNET IIS 遠程管理和PowerShell(NET 是默認框架)Windows Mobile 的第一個版本包含新的Market Place組件在技術教育大會上正式啟用與之同時推出的還有NET Compact Framework和SQL Server Compact Edition版

  在月舉行的年度會議結束了自月NET 和Visual Studio 出貨以來該工具的明星地位在此期間微軟推出了一種全新的數據訪問工具—語言集成查詢(LINQ)NET 版本的相關供應商以及處於困境的ADONET實體框架它是NET Service Pack(SP)中的一個對象關系映射模型

  在月下旬舉行的PDC上微軟向開發者們介紹了即將發布的針對雲計算的Azure Services Platform以及新的針對Live Services和Live Mesh的Live Framework

  今年微軟在MIX網絡開發和設計會議上表示將繼續支持其基於標准的Web平台該公司展示了ASPNET 中AJAX的改進動態數據和更好的Silverlight的集成並發布了新的模型—視圖—控制器(MVC)框架ASPNET MVC 會上微軟還宣布Silverlight 以及新的NET RIA服務預計在今年晚些時候推出

  所有這些庫和SDK都是依賴Visual Studio基本工具支持的NET Framework協議棧的一部分或是擴展微軟把這些都納入了NET的范疇對於大家擔心的該框架的尺寸和性能的問題微軟表示正在盡力解決NET SPNET Client Profile中引入了一個子框架(MB)而整個的下載量為MB據微軟開發者和用戶體驗平台部門的主管Brian Goldfarb稱NET 進一步改進了分布式尺寸

  CLR的更新

  微軟Group項目的項目經理Joshua Goodman認為CLR團隊一直在努力解決NET 的性能和兼容性問題該平台的核心包括即時編譯垃圾收集安全模式異常處理分析及調試API和BCL

  自Net 推出以來開發者們在已經共同攜手運行了該框架的不同版本NET CLR支持同一主機的並列進程使組件可在同一應用程序中使用CLR的不同版本

  如果他們能做到這一點我認為這將是一場重要的勝利Shaw說

  為Visual Studio期刊撰寫《C# Corner》專欄的SRT 解決方案創始人Bill Wagner也同意這一點這個功能是至關重要的對任一個在辦公室裡做開發的人來說有了這個功能寫插件時就不必再加載到另一個應用程序了

  微軟的並行故事對本地和外包代碼開發者來說是NET 的另一個關鍵方面並行LINQ(PLINQ)是並行執行查詢的一個說明性數據編程模型NET Framework中的任務並行庫(TPL)支持任務與(taskand)和數據驅動的並行性協調數據結構(Coordination Data Structure)管理共享狀態

  開發人員有望在NET beta中看到PLINQTPL和協調數據結構的大量更新在PDC上發布的TPL CTP是基於月以來的代碼在Beta TPL默認的工作日程安排變成了現在的NET CLR線程池該團隊還正在努力改進算法使NET線程池可以動態優化一個工作任務的線程數量

  Shaw認為現在看到的跟他早前看到的CTP一樣我有點希望有一個更抽象的東西但他們現在做得也還不錯他說迄今為止我唯一不滿意的是並行庫—當然這是一個小問題因為他們設計並行庫的方式使得其利用一些語言特性的機會比較少如擴展方法等等但是語言團隊在以後的發布版本中對這方面進行改進也是有可能的他說

  目前微軟開源項目托管網站CodePlex提供了動態語言運行服務(提供API動態類型系統動態方法和代碼生成功能)這也是NET 核心平台的一部分在CLR之上的DLR將支持IronRubyIronPython (去年月發布)C# 還增加了對即將發布的Visual Basic 和Managed Jscript Dynamic的支持

  Wagner用過很多動態語言能力他說他喜歡C#的功能我認為這是寫代碼一個很好的方式基本上是靜態輸入代碼並利用所有性能和編譯時間檢查靜態輸入語言的問題而且有辦法分離那些你想使用動態類型檢查或想插入動態代碼的區域他說你可以像在C#裡一樣使用Silverlight和JavaScript還可以與Python庫或IronPython庫的供應代碼進行互操作

  有一個不太常用的用例是你可以通過DLR動態調用NET對象如果你目前是通過映像使用NET對象這將是一個共贏局面Shaw表示

  微軟的NET中除了動態語言實現這一新框架將第一次支持功能性編程特別是微軟研究院開發的F#語言

  在此版本中F#將是一個標准語言長期來看我認為這是一個很大的勝利Shaw說 我認為對於那些理解C#的開發者來說它是一個偉大的工具因為用C#進行功能性編程效率不如F#

  由微軟研究院的Spec#發展而來的技術也包含在了NET 根據微軟的Goodman所說BCL中新的Code Contract允許開發者通過編寫類似assertdebug的預置條件退出代碼和對象常量的後置條件來告訴編譯器他們所知道的東西除了MSR之外一些離線靜態分析工具也包括在內

  又一個數據層

  隨著對ASPNET的實質改進微軟還更新了ADONET的框架類庫由於微軟內部受不同利益方驅動存在多種框架和工具因此在采用何種數據訪問技術上還沒有一致意見這方面的混亂讓許多開發者感到沮喪微軟正在對NET 進行一些改變以使選擇變得明朗一些

  我們正對實體框架進行大量投資因此對於NET 來說實體框架將成為我們推薦的LINQ到關系場景的數據訪問解決方案微軟的項目經理Tim Mallalieu在去年月的博客帖子《LINQ到SQL和實體框架(EF)》一文中寫道我們正在傾聽客戶對LINQ到SQL的意見而且也會基於我們從社區收到的反饋意見繼續發展該產品

  有了NET beta 測試版開發者們很可能會第一次見到EF第據微軟稱EFv還支持n層API和模板增加了簡單傳統CLR對象(POCO)覆蓋改進了持久化透明以及其它功能

  我不知道這是純粹的POCOOakLeaf Systems公司的負責人及VSM投稿人Roger Jennings說抽象可能有一點漏洞;小部分數據表設計可能仍然在類中

  EF設計團隊月份聲稱開發者將對客戶端的變更追蹤和n層應用的狀態變化進行一定程度的處理

  實體框架不會強加模式至N層DTO風格和類似DataSet的經驗可以建立在一套最小的API集合上開發者的任務是選擇更適合應用的模式

  雖然有些開發者可能會贊同其靈活性和更多選擇但其他人認為這是更多的工作

  我們希望使開發者盡可能地少寫低層結構因為他們必須得了解數庫模式並且抽象到高層次編程目標是使用實體數據模型(EDM)來操作實體微軟開發平台產品管理部門的主任Burley Kawasaki說於是我們做了低層關系數據映射的大量工作完成了你通常會寫的很多基礎結構代碼

  今天使用LINQ到SQL的Jennings渴望嘗試更新的技術對我來說NET 中最有用的功能是實體框架第主要是因為我將能夠對它進行分層他說基本上它們的工作就是使你能夠運行一個斷開的Web服務於是你就不再需要ADONET數據服務了—你可以去掉這一層

  連接到雲

  微軟還改進了NET 中引入的基礎庫旨在幫助開發人員構建業務邏輯表現層和NET 中的身份管理

  面向服務的通訊模型—Windows通訊基礎(WCF)現在其功能擴展為可通過Azure服務平台中的NET服務支持雲服務

  微軟正繼續改進WCF 和Windows工作流基礎(WF)的集成我們正在進行的工作有很大一部分是使WF和WCF之間的編程更加順暢Kawasaki說我們在開了一個小頭你將在NET 中看到我們前進得更遠開發人員現在可以在WFWCF和Windows表現基礎(WPF)之下使用一致的聲明模式(XAML堆棧)

  重建WF 已經取得了很大進展一份關於WF的反饋報告指出一些開發人員更願意使用配置或模型Kawasaki說因此微軟正在擴展模式讓你可以更多地進行說明性編程在你需要編寫代碼定義工作流程時盡量限制分支情況

  該團隊還注重使開發人員不必費力在性能和維護之間做出選擇WF 在工作流初始執行的內部基准測試裡顯示出倍的提高根據Kawasaki所說它用在Visual Studio Team System 的團隊基礎服務器裡

  使用該框架和工具構建連接到Web網絡和數據服務的綜合應用服務應該更加容易 WCF 增加了對RESTful服務的支持使用EDM和RESTful服務開發人員可以調用業務數據而不用寫低級別的SQL語句實際上與數據網格數據服務和EF相配合根據Kawasaki所說一個新的Windows Web服務API可以使Windows 和Windows Server R等應用程序的本地代碼與WCF進行互操作

  WPF 或許是微軟最為關鍵的技術Visual Studio 將使用WPF 內建一個新的shell

  許多開發者希望WPF集成到Visual Studio將對WPF的性能和WPF的使用產生積極的影響這不僅僅是一個旗艦應用程序而是一個資源密集型的應用[它]的社區用戶更多關心的是其性能而不是其它方面這意味著對IDE和框架進行WPF集成和必要的修改—以及支持它們的WPF庫—可能是成功最關鍵的因素Wagner解釋說這與Visual Studio和WPF的命運是休戚相關的

  有了NET WPF速度自動提高了%到%Goldfarb說只要向前推進你的應用WPF 將提供多點觸摸支持更好的文本和像素顯示以及其它功能新的Windows Ribbon Control是從屬於Office Fluent UI許可證的

  即便如此許多企業開發人員對缺乏WPF控件感到失望這使他們期待第三方選項出現盡管客戶一再要求微軟還沒有計劃在框架層面實施MDI解決方案

  目前可在CodePlex中獲得管理可擴展性框架(MEF)它也包含在了NET 這是一個組件系統它提供了使用插件構建應用程序的標准方式新的Visual Studio 的shell就是建立在WPF和MEF子集的基礎上

  新一代開發人員

  一方面微軟繼續在企業中推廣NET但EF(尤其吸引此類受眾)和WPF等關鍵技術似乎在NET 中尚未完成

  對於一些[高端]解決方案來說NET使考慮微軟變得更加現實但還存在一個問題 Gartner公司的Driver說當我在年的生命周期內構建一個應用而且是真正運行業務的應用程序我非常積極地維持其穩定—我不想每三年就重寫一次代碼因為它們又增加了最新的更強大的功能

  現在微軟可以解決這一遺留問題因為Visual Basic程序平均只持續三至五年突然換到NET會出現新一代開發人員他說

  微軟的Kawasaki和Goldfarb承認努力為企業開發者提供穩定性同時為那些對最新技術感興趣的開發人員提供靈活性是一種挑戰這也是為什麼我們把大量精力放在互操作性上能夠擴展現有應用程序並行運行Kawasaki說這是NET的一個核心部分以及大量針對用戶應用程序類型的增強功能

  Driver認為隨著時間推移微軟將被迫保持該平台更大范圍的穩定我不認為的變化足以解決一個主要問題他說這不是像拋棄東西他們不是重塑CLR的東西但這次我期望有的機構也許會更加積極地更新到最新版本以采取更有規則的方法也許會經歷有點回歸測試之類的東西

  Shaw還預計NET被接受是緩慢的我們已經看到了客戶抵制遷移到新框架即使沒有新的CLR只有新的庫他說他們的IT人員對開發者端的新東西和他們需要支持的服務器端感到懼怕

  有了VS /NET 轉向新的CLR有很多阻力他回憶說在我看來即使這是一個非強迫性的升級當CLR是干擾你的系統時微軟對版本中的奇怪情況進行了非常完整的記錄

  NET 是一個成熟版本而不像微軟推出的一系列其它新框架級組件微軟開發者平台產品管理部門的高級主管Steven Martin說

  當我們發現開發者反復構建同樣的事情我們認為這一點我們可以產品化嗎?以幫助他們轉移到一個新的開發水平?我們有大量的工作目前正在進行以幫助我們了解一些新的應用模式他說

  顯然當我們構建的應用軟件真正組件化時就是利用雲環境中的服務開發者集成其它開發人員創建的服務Martin說我們認為這使我們有機會尋找我們所提供框架內的其它組件關於這點我們以後將有更多討論

  NET 的最終版和Visual Studio 很有可能在月的PDC或明年年初發布無論哪種方式預計NET 年年底前會投放Go Live許可證

  Shaw急於拋棄虛擬PC並在常規機器上試用新框架的功能我希望他們這樣做beta測試他說因為不然就會拖延發現框架與機器匹配問題的時間

  關於作者Kathleen Richards是的編輯和Visual Studio雜志的執行主編


From:http://tw.wingwit.com/Article/program/net/201311/12417.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.