為什麼要用 Visual Studio Ultimate 2013 及新功能 - 與 2012 版本比較

註: 內文提及Visual Studio Ultimate已於 2015/3月改名為 Visual Studio Enterprise

以下表格是以 VS 2013 vs VS 2012 Ultimate 版本為例,依不同開發領域,列出一簡單比較表。

 

軟體開發功能領域

Visual Studio 2013

  Visual Studio 2012

  Web 開發

  1. One ASP.NET 架構 – Web Form, MVC, SPA , Web API, SignalR的範本都統一
  2. Browser Link 瀏覽器連結 – 可測試 Web 在不同瀏覽器 (IE, Chrome, Firefox …) 中的表現及偵錯
  3. 內建 ASP.NET Identity 範本 –  身份驗證 (例如 Windows AD 驗證、Facebook/Google驗證)
  4. 內建Bootstrap、jQuery Mobile、TypeScript 等開發套件
  5. JavaScript IntelliSense 加強及偵錯強化– 移至定義及識別加強,以及 DOM 總管及偵錯 JavaScript 主控台
  6. HTML/JavaScript 編輯器強化 – 例如可於編輯器下拉式選單看到完整的全域變數
  7. 內建JSON Editor編輯器 (安裝 VS 2013 Update 2)
 
  1. ASP.NET Web 範本沒有內建 Responsive Web Design 套件 – Bootstrap,需額外安裝
  2. 沒有 Browser Link 功能–測試跨瀏覽器 Web 應用不方便
  3. 沒有內建 ASP.NET Identity 範本 – 需額外安裝
  4. Bootstrap、jQuery Mobile, TypeScript 開發套件需額外安裝
  5. JavaScript 偵錯工具在 VS 2013 加強,更方便偵錯
  6. JSON Editor 編輯器 – 2013 版本才支援

跨平台App 開發

  1. 可搭配 Xamarin 進行跨平台 (iOS/Android/Windows) App 開發 – 使用 C#,是 Native App 開發模式 
  2. 外掛 Apache Cordova 套件(類似Phone Gap, Multi-Device Hybrid Apps 套件)  跨平台 App 開發 – 使用 HTML/JavaScript,是Hybrid App 開發模式
 
  1. 搭配 Xamarin 開發 App 時 – iOS/Android UI Designer (拖拉點選的方式設計 UI) 搭配 VS 2013版本更方便;在 VS 2013 版本中做PCL 及 Shared Project 更方便。
  2. 無法安裝 Apache Cordova - Multi-Device Hybrid Apps 開發套件

 IDE 開發環境及編 輯器

  1. IDE 登入 - 開發者IDE 一開啟,可以選擇登入 – 好處: 主動登入 TFS 或 VS Online 馬上看到該開發人員相關的程式碼及工作項目 (work item)、以及記住開發環境設定 (例如字型/編輯器…)
  2. 快速啟動搜尋框 (Search) – 搜尋框可搜尋功能,例如以往要記得快捷鍵找出程式碼字型設定,現在可直接搜尋“字型 “ 立即跳到設定視窗
  3. 查看定義:您可以瀏覽及編輯 Visual Basic、C# 和 C++ 程式碼定義,而不需要開啟新的文件索引標籤。 請參閱 如何:使用查看定義檢視和編輯程式碼 (Alt+F12)。
  4. 增強型捲軸:您可以設定捲軸以顯示程式碼標記,例如錯誤、警告、變更和中斷點。 請參閱 如何:自訂捲軸以追蹤程式碼。
  5. 巡覽至(Ctrl+,):改進功能包括即時結果預覽和流暢的內嵌 UI 經驗。
  6. 其他新功能包括使用快速鍵向上或向下移動一行或選取範圍的功能,以及自動以大括號完成。
  7. XAML 編輯器  - XAML 編輯器支援 IntelliSense 資料繫結和資源、智慧標籤註解,以及移至定義。

 VS 2013 補強處如左欄。

Visual Studio 組件庫及NuGet套件管理 ( 下載元件、範本、免費套件及外掛 )

Visual Studio 2013 通知中心 - 會主動提醒套件是否有新版,是否要更新 (類似 Windows Update 機制)

 沒有通知機制

程式碼品質和診斷工具

程式碼資訊指標 (Code Information Indicators / CodeLens ) – 完整程式參考的類別/方法, TFS版控中ChangeSet, 單元測試資訊 (New)

在編輯器中完整的程式碼資訊,讓開發者無需再開啟其它工具或視窗

沒有 CodeLens 功能 – 無法直接在編輯器中看到該段程式碼與 TFS 中的 ChangeSet 或工作單的關連

單元測試 、測試影響分析、程式碼涵蓋率分析 (Code Coverage)

加強單元測試執行,整合於VS 2013的「測試總管」視窗中,可一次執行所有單元測試

Yes,但 VS 2013 版本補強如左欄

資料庫比對

比對 Database schema,以了解兩個資料庫不同之處及更新處,在開發階段很實用

 

靜態程式碼分析 ( Code Analysis)

√ - 加強程式碼分析後的結果分類,例如 - 可依規則分類將分析出來的錯誤,依資訊安全/SQL Injection/Memory Leak 等分類呈現,方便開發者閱讀找出錯誤。

√ - 新增對 C++ 程式碼的分析

Yes,但 VS 2013 版本補強如左欄

智慧除錯 – IntelliTrace ( 重現bug發生時的狀況以找出錯誤的程式碼 也可用於上線環境 )

可用於開發、及上線環境,並搭配 Code Map 偵錯。

VS 2013 補強如左欄。

Code Map 除錯整合 (視覺化方式逐步偵錯)

√ - 程式碼地圖 Code Map - 視覺化程式碼關連性及圖型化偵錯工具,可以在偵錯時將呼叫堆疊視覺化,如此才容易理解目前已跳到哪裏了,幫助你偵錯更輕鬆。

沒有 Code Map,以傳統中斷點逐步偵錯

.NET Framework 記憶體分析工具及64 位元程式偵錯

可找出 .NET 程式有 Memory Leak 的程式碼,以及偵錯 64 位元程式

測試工具

測試案例管理及手動測試 ( 使用 Test Manager或Web)

√ - 提供完整的測試管理工具,可透過Team Explorer、Test Manager 或是 Web 介面管理

沒有 Web 版的測試管理介面,管理 TFS 上的 Test Case 需透過 Team Explorer 或 Test Manager

負載壓力測試、 Web效能測試 (Load Test & Web Performance Test)

√ -負載壓力測試工具,可搭配本地端的 Agent 發動或是Visual Studio Online雲端的Agent 發動大量的concurrent users,測試者無需準備機器且更能模擬外部使用者操作網站的真實狀況。

負載壓力測試工具,只能搭配本地端的 Agent 發動。

架構設計及驗證工具

架構設計或模型工具 – 程式碼地圖分析 (Code Map)

√ -這個功能很實用,可以一目了然專案中模組之間的關連,尤其是剛接手別人的程式碼,或是維護他人的程式,藉由在 Visual Studio Ultimate 中建立程式碼地圖,來視覺化和巡覽你的程式碼關聯性

無 Code Map

TFS 團隊開發及工作單管理

版本管控

1. 支援 Team Foundation 集中式版控及 Git 分散式版控

2. 支援 Web 介面觀看、比較不同版本之原始碼,也可在 Web 介面上回覆及編寫註解。

 

支援 Team Foundation 集中式版控

程式碼檢閱 ( Code Review) 及工作暫停/繼續 ( Task Suspend/Resume)

√ - 加強 TFS 中的Code Review功能 – 好處: 開發者的程式碼可經由資深人員review後才得以簽入 TFS

√ - 加強 工作暫停/繼續功能 – 統一集中於 Team Explorer 中進行,開發人員可將寫到一半的程式碼工作暫停,臨時處理其它工作,待執行完畢後再繼續原來工作

2013 版本補強如左欄。

發行管理 (Release Management) 及自動化佈署 (Deployment Automation) – 使用Release Management for Visual Studio 2013

√ (可部署至個別授權的目標伺服器); Visual Studio 2013 Ultimate 就已包含 Release Management Client

沒有 Release Management 功能

敏捷開發及專案管理完整工具 ( 包括Backlog Management, Sprint Planning, Storyboarding, Feedback Client, Kanban Board, Portfolio Management)

√ - 加強 Agile Portfolio Management – 多個專案同時管理

沒有 Agile Portfolio Management 功能

團隊開發管理 小組聊天室 (Team Room) ; 團隊線上溝通及完整工作項目統計表

√ - 新增 Team Room 當成團隊的工作室,可線上溝通,並與 TFS 中的工作項目或 ChangeSet 整合

 

 

如果想要了解完整 Visual Studio 2013 新功能清單,可參考 - Visual Studio 2013 的新功能