奧推網

選單
科技

.NET 為何如此受歡迎?

作者 | Bryan Costanich

譯者 | 彎月

出品 | CSDN(ID:CSDNnews)

我曾使用 。NET構建過多個流行平臺,經常有人問我。NET未來的發展,以及它是不是一個值得投資的生態系統。這個問題在舊金山灣區這個高科技盛行的人群中特別受歡迎,科技圈流行的技術就像季節變化一樣來來往往,但 。NET 始終堅若磐石,它不僅是一個非常受歡迎的平臺,而且就我看來,它是一個生產力極高、使用輕鬆且易於訪問的平臺。

當然,我們還有很多其他優秀的程式語言,比如Rust。還有很多其他優秀的平臺,比如Flutter。但論生產力和優雅,無人能及。NET。

如今的。NET已與往昔大有不同,在StackOverflow的開發者調查報告中,。NET連續3年榮獲最受喜愛的平臺。事實上,。NET Framework與新的。NET Core在排行榜中一騎絕塵:

為了弄清楚開發人員為何如此鍾愛。NET,我們需要從整體上審視。NET的開發體驗。

一流的工具

首先是工具,Windows版和Mac版的Visual Studio為。NET提供了一流的支援,甚至連VS Code也為。NET提供了有限的支援。二者是目前最流行的IDE,事實上VS Code是IDE的絕對統治者,使用人數是第二名的兩倍多:

許多人認為JetBrains Rider是現有的最佳IDE,但在。NET支援方面仍不足以與Visual Studio媲美,後者做了大量改進,創造了最好的。NET工具體驗。

該工具的底層平臺非常強大,不僅能夠輕鬆構建和部署系統,而且首次執行也非常方便,開發人員能夠在幾分鐘內完成從安裝平臺到部署應用程式的所有工作。事實上,你不需要與任何工具鏈、make檔案或平臺版本控制打交道,就可以輕鬆地從零開始構建。NET應用程式,直到完成部署。

可在各大主流平臺執行

就像上個世紀90年代Java的夢想一樣,。NET可以在各大主流平臺執行,而且擁有自定義的整合工具,可以享受大多數平臺的優勢。雖然最初。NET只能在Windows上執行,但如今它可以在Windows、macOS、iOS、Android、Linux、大型機甚至微控制器上執行。此外,。NET還可以在雲上執行,Azure、AWS和Google Cloud都有內建的。NET應用程式支援。

一系列優雅的語言可供選擇

通用語言執行時(Common-Language-Runtime,簡稱CLR)是。NET的一個核心特性,我們可以使用25種語言編寫。NET應用程式,包括C#、F#以及 VB。NET。

龐大的社群和經驗豐富的程式設計師

根據我們自己的研究,世界上近一半的活躍開發人員都知道。NET,甚至在從事。NET開發。

。NET自誕生以來,開發者生態系統每年都在增長。因此,如果你在招聘開發人員時遇到困難,則可以放心,。NET擁有最大的開發人才庫之一。

。NET語言本身也在快速增長。最新的TIOBE程式語言指數顯示,在過去一年中,C#的人氣指數漲幅最大,有望取代C++進入前三名。而C#與VB。NET聯手,就可以向第一名看齊。

技術美感

2016年,。NET Core重新改造,大量功能被刪減,只保留了骨架,使用者可以透過一種現代、超輕量級、按需的方式,從其現代化的包生態系統Nuget中組合出最低限度的平臺庫。此外,。NET還放棄了傳統的Win32平臺連線,並融合了Mono和Xamarin團隊為執行時和工具帶來的創新,為真正的跨平臺體驗鋪平了道路。

。NET Core整體的效能都得到了提升,微軟打破了傳統的 。NET Framework執行時限制,全面實現了一連串的效能改進。

說到效能,在Xamarin的創新Ahead-of-Time編譯器的助力下,開發人員在構建應用程式時,就可以編譯出根據晶片架構進行最佳化的彙編程式碼,從而在享受優秀記憶體管理功能的同時,實現原生C/C++級別的效能。

這種記憶體管理方法對可靠性和安全性也有好處。從可靠性的角度來看,這種方法消除了在非託管應用程式(例如用C/C++編寫的應用程式)中常見的記憶體洩漏導致的不穩定和崩潰。從安全的角度來看,利用記憶體管理平臺實現的記憶體安全消除了由於記憶體使用導致的一系列安全問題,Google的資料顯示,這些問題約佔非託管安全漏洞的2/3。

百分百開源

微軟的。NET百分百開源,而且可以免費使用,包括類庫、執行時、編譯器、語言和應用程式框架。你可以透過GitHub上。NET的程式碼庫獲得所有原始碼(地址:https://github。com/dotnet)。

一流的生態系統

除了微軟的投資外,。NET第三方的生態系統規模也十分龐大,擁有大量高質量的庫、外掛、工具和框架。

下面是一些非常了不起的第三方整合案例:

Uno Platform與Avalonia:兩個成熟的MAUI替代品,二者提供了非常優雅、令人愉悅、高效能的跨平臺UX框架。

Meadow:該框架由我們公司的Wilderness Labs建立,能夠幫助你在 。NET 中構建在微控制器上執行的物聯網解決方案。

Telerik:可插拔UI控制元件的黃金標準,幾乎可在任何平臺上使用。

還有無數的諮詢公司、解決方案提供商和 。NET商店獲得了認證,他們都有資格構建。NET解決方案。

深受企業信賴

眾所周知,。NET是企業的中流砥柱,雖然微軟沒有公開 。NET的使用資料,但 95%的世界500強企業都在使用Azure,而且據我所知,80%的世界500強企業都在使用。NET,相信實際的數字會更高。

。NET特別適合構建核心任務應用程式,。NET不僅可靠,而且其執行時久經考驗,非常易於使用。就連美國國防部也廣泛使用了。NET。

。NET並不完美

雖然。NET有很多優點,但它並不完美。雖然微軟在。NET上付出了巨大努力,但它仍有很多缺點。其中的大部分問題都要歸結於微軟內部工作重心的轉變,以及領導團隊很難跟上最前沿的開發人員文化。

舉一個例子, MAUI是微軟的旗艦跨平臺UI庫,它是Xamarin的續作,還結合了以前的Windows UI框架WPF,但由於長期資金不足,如今被Flutter迎面趕超成為了當今最好的跨平臺UX平臺。特別是,MAUI至今仍不支援Linux。

而論及工作重心的轉變,VS Code對。NET的有限支援就是由此造成的。雖然你可以在VS Code中進行基本的開發,但它缺少一個適當的外掛來處理 。NET的多專案解決方案格式,而這是支援更復雜專案所必需的。出現這個問題是因為微軟習慣性地選擇了讓。NET開發人員使用Visual Studio,從而攫取更高利潤,而不是讓開發人員使用免費的VS Code。話雖如此,很明顯微軟內部的工作重心已變為提供更好的跨平臺工具支援,而且我聽說他們正在開發完整的VS Code解決方案。

。NET 是業界最佳平臺

即便有一些小缺點, 。NET仍然是世界上最高效和最受信任的開發人員平臺生態系統。若論更完整、更開放、更高效的平臺,。NET的實力無可企及。

種種跡象表明,在可預見的未來,。NET將繼續保持這種優勢,因為該語言會不斷髮展,其團隊和生態系統也會繼續創新。因此,大家都應該嘗試一下。NET。

原文連結:https://medium。com/@bryancostanich/its-good-to-bet-on-net-c22853f501c7

END

祝所有開發者朋友假期快樂,端午安康!

《新程式設計師001-004》全面上市

對話世界級大師,報道中國IT行業創新創造

暢享電子書及精美紙質書

—點這裡↓↓↓記得關注標星哦~—

一鍵三連 「分享」「點贊」「在看」

成就一億技術人