[.NET大牛之路 004] .NET 的現狀和未來

我們總是能聽到一些人說,.NET 不行、學 .NET 沒發展前途之類的言論,有的童鞋聽多了便也開始懷疑自己選擇的 .NET 方向是不是錯了。

不得不承認,在 .NET 沒有實現跨平台之前,市場行情確實是一路下滑。受此影響,.NET 近幾年在中國的發展,不管是生態還是開發者數量,也確實不如 Java。

但從 .NET Core 問世後,它的發展趨勢便開始出現扭轉,發展至今各方面表現都朝著越來越好的方向發展。我們不妨用數據來看看 .NET 的發展現狀到底如何,未來是否值得我們的期待和追逐。

現狀

關於現狀,我從官方的幾個 YouTube 影片介紹中截取了兩張圖。一張是 .NET 平台截止 2020 年(去年) 12 月開發者數量大致的變化情況:

來源:YouTube

另一張是 .NET 平台截止 2021(今年) 年 5 月開發者數量、受歡迎度、性能等方面的表現數據:

來源:YouTube

概括起來有如下幾點:

開發者數量

截止 2021(今年) 年 5 月,全球有超過 500 萬的 .NET 開發者。過去一年(2020 年)的跨平台 .NET Core 活躍開發者數量增長超過 60 萬。而這些數據僅來源於 Visual Studio IDE,不包含使用其它 IDE 的開發者。

從官網的 .NET SDK 下載量來看,.NET 開發者每年都在快速增長。其中,在新增長的 .NET 開發者中,有 40% 是學生,說明有大量年輕開發者正在湧入 .NET 大家庭中。

社區發展

在 2019 年和 2020 年的 Stack Overflow 開發者年度調查報告中,.NET Core 連續兩年被評為最受歡迎的開發框架。

其中 ASP.NET Core 被評為最受歡迎的 Web 框架。

相關鏈接:

//insights.stackoverflow.com/survey/2020#most-loved-dreaded-and-wanted
//insights.stackoverflow.com/survey/2019#most-loved-dreaded-and-wanted

.NET 平台下的開源項目,在 GitHub 近兩年開源項目貢獻(包含 Commit、Issue 等)增長量排名中名列前三十,參與貢獻的開發者非常多,全球有 6 萬多名開發者貢獻了程式碼。C# 程式語言在 GitHub 的使用量排名中名列前五。

性能表現

在 .NET 相關框架大版本發布時,幾乎每次都有關於性能提升的報告。ASP.NET Core 的性能比 Node.js 快 10 倍多,與 Go 的 Web 框架旗鼓相當。

有參考意義的是對 gRPC 實現的框架性能的比較,它比較能反應綜合性能的差異。請看下圖右邊圖表,基於 .NET 5 實現的 gRPC 框架與其它 gRPC 框架的對比:

來源:YouTube

.NET 5 的 gRPC 框架性能僅次於 Rust 的框架,略微高於 Go 和 C++,比 Java 高出 12% 之多。註:這裡比的是基於程式語言實現的框架,而不是程式語言本身。

其它方面

.NET 的現狀還包括生態發展情況,這一點我在第 2 篇文章也講過。.NET 是目前全球市場上唯一一個涵蓋 Web、桌面客戶端、手機應用、微服務、雲原生、機器學習、遊戲、物聯網等跨平台的全能開發解決方案。同時各領域開源的開發框架和庫也越來越多。

近幾年,微軟和 .NET 社區做了大量艱辛的工作,使得 .NET 的發展越來越趨向良好,生態也越來越完善。

在中國也有很多大廠採用 .NET 技術,比如騰訊、阿里雲和網易等,甚至我們的國產 CPU 龍芯也在熱情擁抱 .NET。尤其是大型手游開發這塊,C# 的使用率獨佔鰲頭,比如騰訊的很多手游都是基於 C# 使用 Unity 開發的,包括著名的王者榮耀。

未來

自 .NET Core 問世以來,隨著近幾年的快速迭代和發展,.NET Core(現在是 .NET 5+)在各方面不斷地完善和提高,微軟團隊和 .NET 社區一直在努力打造更輕量、更快、更適合雲原生的 .NET 平台。現在 .NET (Core) 已然成為最主流最受歡迎的開發框架之一。

微軟將在今年 11 月份發布大統一的 .NET 6 長期支援版本,此次 .NET 6 版本的目標很明確:

來源:YouTube

目標是徹底實現和完善統一的工具鏈、跨平台原生 UI、雲原生、性能改進和生產效率提高等。從已經發布的 .NET 6 預覽版本來看,進度符合預期,正在按照計劃推進。

性能和生產效率一直都是微軟團隊和 .NET 社區孜孜不倦的追求,這兩方面將越來越突顯 .NET 的優勢。

另外,在本次即將發布的 .NET 6 中,很明顯微軟正在強化移動開發這個生態領域,引入了跨平台的原生應用開發框架–MAUI,這絕不是簡單的 Xamarin 回爐重造。MAUI 是我個人比較期待和看好的一個方向。

未來 .NET 每年都會發布一個主要版本,奇數年份的主要版本為長期支援(LTS)版本。

來源:YouTube

在可預測的時間表中,微軟也會根據需要進行小規模發布 .NET 版本,以不斷持續改進 .NET 的速度、大小和性能。未來路線和支援情況很明確,給了使用 .NET 的開發者和公司一顆定心丸。

開發市場正在熱情地擁抱 .NET。隨著長期支援版本 .NET 6 發布,將更會有越來越多的 .NET 的開發者和公司加入到 .NET 的大家庭中。

我個人相信未來 .NET 的前景會越來越好,它值得我們的期待和為之付出努力。

Tags: