淺析Visual Studio 2010測試版獲好評原因
在6月18號,該公司對MSDN訂閱者開放了Visual Studio 2010和.NET Framework 4測試版的下載。對公眾開放的下載也在之后的幾天得以實現。目前為止,Visual Studio 2010和.NET Framework 4的評論都是以正面為主。
51CTO編輯推薦專題《Visual Studio 2010應用與開發》
Beta 1用WPF為.NET社區展示了即將到來的Visual Studio 2010以及修改后的代碼編輯器。更新的框架承諾為大家帶來成熟的類庫,新的并行功能以及對.NET 3.5 SP1中出現的ADO.NET EF進行更新。
五月底的時候,微軟再次強調了其云技術,推出了更新的用于Visual Studio 的Azure工具社區技術預覽版,這一工具預覽添加了對Visual Studio 2010測試版的支持。Azure工具為云項目提供了C#和VB模板,用于本地開發網絡和存儲的調試,并通過WindowsLive ID訪問了Azure Services Developer Portal。Visual Studio 擴展安裝了Azure SDK。微軟解釋稱,Windows Azure和.NET Services與,NET 3.5兼容,但是目前尚不支持.NET 4。
試驗與成果
對Visual Studio 2010和.NET Framework 4 測試版的前期報道都是積極的,但這是因為評論都考慮到這二者仍處于技術預覽環節。微軟稱,程序員應該能夠在Windows 7上同時安裝Visual Studio 2010和Visual Studio 2008 SP1。
架構師Joseph Megkousoglou稱贊了新的IDE安裝程序中清楚區分開的已管理和本地代碼。他對Visual Studio 2010在Windows 7上的表現表示贊賞。不過他認為Team Foundation Server(TFS)2010的安裝又是另外一回事了。盡管如此,該產品還沒有為其公司帶來頭疼的問題。據他透露,其公司已經加載了Visual Studio 2010中的主要項目,并將其用.NET 4進行編譯。其表現和.NET 3.5類似。
有效的WPF
新型Visual Studio 框架中被大肆宣傳的WPF編輯器部分不是程序員擔心的問題。已經下載了該測試版的程序員已經對其中的問題表現出失望。一個是太多的空白區域或字形,這些增加了讀取代碼的難度。在測試版推出一周后,Visual Studio 編輯器博客發帖稱,微軟將在終極版中恢復Visual Studio 2008風格的字形。同樣,廣泛使用的Box Selection在測試一版中找不到蹤跡,而這也將通過新的多線編輯功能進行升級并出現在最終版本中。
另一個許多程序員考慮的問題是模糊的字體,尤其是小號字體。WPF只支持TrueType字體,而其他點陣字體仍然出現在Visual Studio 2010測試版的菜單中。這些字體會在最終版本中被刪除。有些程序員稱愿意等待微軟為測試二版添加Compatible Width Layout堆棧以解決WPF的字體安排。盡管存在這些問題,大家還是稱贊了這一建立在WPF和新型Managed Extensibility框架上的框架。
歷史調試器和新的多線程調試功能在測試一版中也是給人留下了深刻印象。這一被形象稱為“并行堆?!钡慕M合用于調試多線程應用程序,可以讓程序員設置源代碼中的斷點,由此,他們便能夠指出每個線程位于哪個時間點上。當程序員運行調試器時,獲得斷點時,是唯一能看到堆棧的時刻;這一并行堆棧只有在你位于代碼斷點時才起作用。
Parallel LINQ第一個版本存在局限性,但是初看這一工具感覺它還是令人欣慰的。
實用Framework 4推出
Visual Studio 2010和.NET 4測試版推出后,程序員看到了ADO.NET EF 4,這是微軟用來創建訪問數據庫的應用程序的首先模式。鑒于首推版本的大部分反饋信息,人們對于版本的升級一直保持著熱切期待。EF 4添加了對于若干層級API和模板的支持,增加了Plain Old CLR對象覆蓋,改進了Persistence Ignorance以及其他一些功能的升級。
實體框架本身已經發生了很多變化,它真正解決了社區的一些顧慮。當然,去年秋天微軟將其重心轉到EF的時候,許多已投資在LINQ到SQL的人感覺到有些沮喪。許多LINQ到SQL中的許多功能在EF4中都可以找到。感覺有點像微軟將這些功能復制了過去。短期內,人們還是會使用LINQ到SQL,因為很多程序員所受的是這方面的培訓。
在升級EF的其他性能中,如建模支持,現在可以在模型基礎上生成DDL。這些功能的改進都很有用。有些用戶正在開發新的內部程序框架以使用各類項目,并將升級的EF放到前臺運行以便在自己的框架中使用該工具。
【編輯推薦】