這個世界從來都不缺變革,從工業革命到晶體管和集成電路,從生活電器到物聯網,從簡陋人機到精致體驗,我們在享受技術帶來的便捷的同時,也在為復雜設計而帶來的挑戰和生產力下降而痛并快樂著。而迫切期盼的,就是趁手的工具。曾幾何時,Visual Studio 一直就是軟件開發的高效的標桿,從VB的簡潔語法和簡單的拖拽開始,Visual Studio 不斷的完善,不斷的適應快速變化的,加上成熟的生態,讓微軟世界里的各個伙伴們活的有滋有味。
近年來,微軟開始了擁抱開源,投資云技術,在開發工具領域有明顯的減持,這也讓很多追隨者感到不安。如今 Visual Studio 2017 的發布,給了開發者幾點很明確的信號:
移動開發前景無限,解決方案多樣化
跨平臺服務器支持和服務器輕量化
開發過程標準化和開發效率持續提升
服務優于產品
作為微軟工具的受益人,我們相信這是一個好的變化,有了變化,才有提升,才能提供更好的服務。
那么,在 Visual Studio 的20年發展歷程中,都經歷了哪些歷程和技術變革呢?
根據微軟的資料,第一個使用 Visual Studio 品牌銷售的是 Visual Studio 97,后續版本(VS6)成為一代經典,即使今日依然還有企業和公司在使用;之后 Visual Studio 攜 .NET 而來,開創了C#時代,WinForm 替代了 VB,控件替代了 OCX,ASP.NET WebForm 開始嶄露頭角;隨著 Windows Vista 的慘淡,同時推出的新一代圖形界面技術 WPF 也發展緩慢,為了促進 WPF 發展,微軟使用 WPF 重寫了界面,發布了 Visual Studio 2010,由于性能低下,資源消耗嚴重,這一版本流傳一般,隨后微軟快速重構,發布了高性能的 Visual Studio 2012;隨后,軟件開發開始強調團隊集成,增強了 TFS 在 Visual Studio 的話語權,每次發布都會隨著發布 TFS 的新版本。因此我劃分五六個技術時期來詳細解說。
微軟在開發 Win3.x 系列的時候公開出來的一套架構體系,目的在于根據接口運行時動態加載實現,從而降低開發耦合。這一時期,主要的開發語言是C++,但是開發效率比較低,當時的技術前沿是RAD,VB(語言)和 ActiveX(技術)剛好搭上這一班車,同時正式讓控件這個細分市場也開始嶄露頭角。隨著90年代后期 Java 和 Web 的崛起,COM/ActiveX 受到了挺大的沖擊,尤其是 web 編程,ASP 過于簡陋,執行引擎 VBScript 并不能將 VB 中的 RAD 概念引入,而且原生 VBScript 語言本身并不成熟,限制較多,解決方案是在 ASP 中調用 COM/ActiveX,這樣整個開發變得很復雜,慢慢消失在歷史中。
實際微軟開發 .NET 并不是非常順利,一開始借鑒了很多 COM 的設計理念,但是很多基礎設施并沒有實現出來,導致早期的 ASP.NET 并不是很穩定,很多開發者為了考慮兼容性,甚至依然延續上一代產品的架構,通過導入 COM 組件來實現底層,而 ASP.NET 僅僅是一層表現。另一面,由于 C# 語言的開速發展,結合 RAD 概念而開發出來的 Designer(設計器)迅速讓 WinForm/WebForm 成為開發利器,無論效率還是成品效果都獲得較高的用戶認可。
隨著.NET平臺的發展和成熟,此時 WinForm 用戶開發抱怨界面的精致度問題和資源利用問題,但是這些是由于 WinForm 的底層實現僅僅做了一層 Win32 API 封裝導致,所以很難通過增強和修補來提升用戶體驗;恰好微軟推出其新一代操作系統,主打功能就是用戶體驗,為此,在大約2005年左右開啟了 WPF 技術項目,正式在 VS2008 中開始主推。但是由于性能和復雜實現,導致 WPF 認可度并不高,而同期推出的 Silverlight 更是沒有堅持幾年,就淹沒在歷史塵埃中了。
WebForm 技術雖然因為 RAD大受歡迎,但是其 ViewStates 技術讓大型項目和互聯網項目深受困苦,如是一部分人開始重構現有的 ASP.NET 技術,將業務和展現分離,逐漸形成了早期的 ASP.NET MVC 概念,隨后微軟快速跟上,并推出 Razor 技術,并徹底重寫了 HTTP 底層,徹底移除了 ViewStates,從此 web 開發不僅高效,同時也能符合 HTML 最新標準。到2012年,SPA 概念開始流行起來,越來越多的公司開始嘗試前后端分離,這讓 ASP.NET 有了一點危機,如是開始了 ASP.NET MVC WEB API 項目,在輕量級的 MVC 架構基礎上,再一次簡化,讓基于 RESTful API 的應用能夠在 .NET 圈里采用。
說真的,我不是很愿意把這個列出來作為一個獨立的技術圈來說,實際上這個 UWP 并沒有多少新鮮的事物,更多的是一個概念,其表現層是 WPF 的 Xaml,底層是基于 projection 的一個通用平臺概念(比如PCL和WinRT),唯一能稱道的是后來加入的 Xamarin,將 C# 帶到全平臺移動開發領域,不過,目前仍屬小眾,還得繼續努力。
自2016年正式發布以來,.NET Core 表現越來越好,借助更加強化的 OWIN 接口,很好的將 web 開發做解耦,讓第三方中間件有了更多的表現機會,但總體依然年輕,大規模采用仍需時日。
時間荏苒,Visual Studio 品牌已經邁進20周年,從十幾年前開始做 .NET 控件開發就每天和 Visual Studio 打交道,也算是經歷了和見證了它的起起落落。如今,VS2017 正式宣布發布,并為此籌備了一場盛大的20周年慶典,也借此機會,祝愿 Visual Studio 和微軟技術越發展越好。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。