程序開發(fā)工具選擇上押注 .NET 是件好事
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
作為一個(gè)在.NET 上構(gòu)建了不止一個(gè)流行平臺的人,我經(jīng)常被問到它的相關(guān)性,以及它是不是一個(gè)值得投入的生態(tài)系統(tǒng)。這個(gè)問題在舊金山灣區(qū)的技術(shù)世界里尤為流行,這里的技術(shù)潮流就像四季一樣變更交替,但.NET 始終是一個(gè)堅(jiān)定、持續(xù)流行的平臺。而在我看來,它還是最具整體生產(chǎn)力、最令人愉快和最易訪問的平臺。 這個(gè)世界上確實(shí)還有其他很棒的編程語言,比如 Rust;還有其他很棒的 App UX 平臺,比如 Flutter。但說到全面的生產(chǎn)力和優(yōu)雅,可能沒有能與.NET 一較高下的了。 今天的.NET 已經(jīng)不是老一輩的.NET 了,在一年一度的 StackOverflow 開發(fā)者調(diào)查中,它連續(xù) 3 年成為最受喜愛的平臺,這是有原因的。事實(shí)上,.NET Framework 和新.NET Core 的結(jié)合遠(yuǎn)遠(yuǎn)超過了其他所有東西。甚至可以說,在這些問卷調(diào)查的所有框架當(dāng)中,.NET 體現(xiàn)了最強(qiáng)烈的愛與恐懼的正面情緒。 為了理解為什么開發(fā)者如此熱愛.NET,讓我們?nèi)婵疾煲幌?NET 的開發(fā)者體驗(yàn)。 首先是工具。Windows 和 Mac 的 Visual Studio 為.NET 提供了一流的支持,VS Code 也為其提供了有限的支持(微軟的一個(gè)疏忽,我們將在下面討論)。它們代表了世界上使用率最高的 IDE,事實(shí)上,VS Code 是 IDE 的絕對統(tǒng)治者,使用人數(shù)是 Visual Studio(位居第二)的兩倍多。 JetBrains Rider 被許多人認(rèn)為是現(xiàn)有最好的 IDE,它不僅與 Visual Studio 一樣為.NET 提供支持,而且在此基礎(chǔ)上進(jìn)行了相當(dāng)大的改進(jìn),帶來了可能是所有工具中最好的.NET 工具體驗(yàn)。 工具本身是基于底層的平臺功能(如健壯的一鍵式構(gòu)建和部署系統(tǒng))而構(gòu)建的,提供了輕松的首次運(yùn)行體驗(yàn),開發(fā)者能夠在幾分鐘內(nèi)完成從平臺安裝到應(yīng)用程序部署的過程。事實(shí)上,無需糾纏于復(fù)雜的工具鏈、構(gòu)建文件或平臺版本控制就能從零開始使用.NET 來部署應(yīng)用程序,這種能力已經(jīng)為其他平臺樹立了標(biāo)準(zhǔn),并提升了開發(fā)者對平臺的忠誠度。 就像 20 世紀(jì) 90 年代的 Java 夢一樣,.NET 也運(yùn)行在所有的主流平臺上,并擁有定制的集成工具來充分利用每一個(gè)平臺。雖然它最初被鎖定在 Windows 上,但在今天,它已經(jīng)可以運(yùn)行在 Windows、macOS、iOS、Android、Linux、大型機(jī)甚至微控制器上。它也運(yùn)行在云端,Azure、AWS 和谷歌云都提供了內(nèi)置的.NET 應(yīng)用程序支持。 公共語言運(yùn)行時(shí) (CLR) 是.NET 的一個(gè)核心特性,開發(fā)者可以使用超過 25 種語言編寫應(yīng)用程序,包括 C# 和 F#——世界上最好的兩種編程語言,以及 VB.NET——雖然人們喜歡調(diào)侃它,但它本身確實(shí)非常強(qiáng)大。 根據(jù)具體的計(jì)算方式,活躍的開發(fā)者數(shù)量在 200 萬到 250 萬之間。而根據(jù)我們自己的研究,世界上將近一半的活躍開發(fā)者知道或者正在用.NET。 自.NET 誕生以來,開發(fā)者生態(tài)系統(tǒng)每年都在增長。因此,在難以招到開發(fā)人員的時(shí)候,你可以放心,.NET 是最大的開發(fā)人才庫之一。 它還在快速增長。最新的 TIOBE 編程語言指數(shù)顯示,在過去的一年中,C# 的受歡迎程度增長最快,有望進(jìn)入前三,取代 C 語言。事實(shí)上,如果與 VB.NET 一起,它將輕松位居榜首。 2016 年的.NET Core 重構(gòu)對.NET 進(jìn)行了徹底的改造,提供了一種現(xiàn)代的、輕量級的、可組合的、點(diǎn)菜式的方式,直接通過 Nuget 從它的現(xiàn)代包生態(tài)系統(tǒng)中獲取必要的平臺庫。它放棄了傳統(tǒng)的 Win32 平臺連接,融合了 Mono 和 Xamarin 團(tuán)隊(duì)在運(yùn)行時(shí)和工具上帶來的創(chuàng)新,為真正的跨平臺體驗(yàn)鋪平了道路。 .NET Core 也帶來了更好的性能。通過打破舊有.NET Framework 運(yùn)行時(shí)的限制,微軟帶來了一系列性能改進(jìn)。 說到性能,Xamarin 的預(yù)先編譯器(現(xiàn)在已被納入.NET)讓開發(fā)人員可以直接在構(gòu)建時(shí)為特定芯片架構(gòu)的匯編代碼編譯出二進(jìn)制文件,從而在內(nèi)存托管的應(yīng)用程序中實(shí)現(xiàn)原生的 C/C++ 性能。 這種內(nèi)在的內(nèi)存托管方式也為可靠性和安全性帶來了好處。從可靠性角度來看,它實(shí)際上消除了非托管應(yīng)用程序(如用 C/C++ 編寫的應(yīng)用程序)中常見的內(nèi)存泄漏所造成的不穩(wěn)定和崩潰。從安全性角度來看,內(nèi)存托管平臺的安全性消除了由內(nèi)存使用引起的一系列安全問題,谷歌的安全數(shù)據(jù)顯示,內(nèi)存使用引起的 Bug 大約占所有非托管安全性的三分之二。 .NET 的所有東西都是開源的,可以免費(fèi)使用,包括類庫、運(yùn)行時(shí)、編譯器、編程語言和應(yīng)用程序框架。你可以在 GitHub 上的 DotNet 存儲庫中找到所有的源代碼。 除了微軟的投入之外,第三方生態(tài)系統(tǒng)也非常龐大,擁有大量高質(zhì)量的庫、插件、工具和框架。 下面列出了幾個(gè)非常引人注目的第三方集成的例子: Uno Platform 和 Avalonia——兩個(gè)成熟的 MAUI 替代解決方案,Uno Platform 和 Avalonia 提供了一個(gè)優(yōu)雅的、令人愉快的、高性能、跨平臺 UX 框架。 Meadow——由 Wilderness Labs 開發(fā),可以用它為運(yùn)行在微控制器上的.NET 構(gòu)建物聯(lián)網(wǎng)解決方案。 Telerik——幾乎在任何平臺上都可以使用的可插拔 UI 控件。 還有其他無數(shù)的咨詢公司、解決方案提供商和.NET 商店,它們都獲得了構(gòu)建.NET 解決方案的認(rèn)證和資格。 眾所周知,.NET 是企業(yè)的中流砥竿,雖然微軟沒有公開發(fā)布.NET 的采用情況,但有 95% 的財(cái)富 500 強(qiáng)企業(yè)都在使用 Azure。而且,我私下里也被告知,至少 80% 的財(cái)富 500 強(qiáng)企業(yè)在使用.NET,但實(shí)際數(shù)字可能更高,因?yàn)檫b測技術(shù)經(jīng)常會被關(guān)閉。 .NET 尤其適用于關(guān)鍵任務(wù)型應(yīng)用程序,在這些應(yīng)用程序中,.NET 的可靠性和久經(jīng)考驗(yàn)的運(yùn)行時(shí)讓人心情舒暢。事實(shí)上,美國國防部在廣泛使用.NET。 盡管.NET 有這些神奇之處,但它并不完美。我要指出的是,盡管微軟用它提供了這么多好東西,但它也有缺點(diǎn)。其中,大部分直接歸因于微軟內(nèi)部優(yōu)先級的轉(zhuǎn)變,以及領(lǐng)導(dǎo)團(tuán)隊(duì)一直在艱難地跟上一線的開發(fā)者文化。 MAUI 是微軟的旗艦跨平臺 UI 庫,Xamarin 的繼承者,同時(shí)也結(jié)合了之前的 Windows UI 框架 WPF,但長期以來資金不足,這使得 Flutter 成為當(dāng)今最好的跨平臺 UX 平臺。在 Linux 平臺上尤其如此,因?yàn)?Linux 目前還不支持 MAUI。 同樣是這些領(lǐng)導(dǎo)團(tuán)隊(duì),他們有時(shí)候也錯(cuò)誤地處理了與社區(qū)的關(guān)系,缺失方向感的.NET 基金會和 Hot-Reload 的慘敗就足以證明。 優(yōu)先級轉(zhuǎn)變也可能是限制為 VS Code 提供支持的原因,雖然有了基本的.NET 支持,但仍然缺少適當(dāng)?shù)牟寮硖幚?NET 的多項(xiàng)目解決方案格式,而這對于支持更復(fù)雜的項(xiàng)目來說是必要的。這是由于微軟一直以來優(yōu)先將.NET 開發(fā)者引向 Visual Studio 的銷售,以此來實(shí)現(xiàn)變現(xiàn),而不是為他們提供免費(fèi)的 VS Code。 話雖如此,很明顯,微軟內(nèi)部的優(yōu)先級正在轉(zhuǎn)移到提供更好的跨平臺工具支持上,而且我聽說一個(gè)完整的 VS Code 解決方案正在進(jìn)行當(dāng)中。 然而,即使有一些小缺點(diǎn),.NET 仍然可以輕松地成為世界上最高效、最值得信賴的開發(fā)者平臺生態(tài)系統(tǒng)。沒有什么比.NET 更完整、更開放、更高效的平臺了。 所有跡象表明,在可預(yù)見的未來,.NET 將繼續(xù)保持這種態(tài)勢,因?yàn)樗鼘⒗^續(xù)發(fā)展,團(tuán)隊(duì)和生態(tài)系統(tǒng)將繼續(xù)創(chuàng)新。因此,把賭注押在.NET 上是件好事! 原文鏈接:https://medium.com/@bryancostanich/its-good-to-bet-on-net-c22853f501c7 該文章在 2024/3/24 23:09:28 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |