.NET 很好,你可能對它有一些誤解

> 作者:Charles Chen

在 20 年前的 2002 年, 微軟公佈了下一代的軟體、服務的願景和路線,2 月 13 日,Visual Studio 。NET 推出,。NET 開發平臺的第一個版本正式向世界釋出。

到現在為止,。NET 都已經 20 歲了, 它已經成長為一個成熟穩定的平臺。

但是,我發現很多開發人員還是對 。NET 有一些偏見和誤解,讓我們來消除這些誤解吧!

如果你身邊也有這樣的朋友,請把這篇文章轉發給他們。

誤解 1:.NET 只能在 Windows 上執行?

實際上這個說法從早期的 。NET 就一直存在,也確實如此,。NET Framework 最初是為 Windows 構建的,因為包含了很多 Win 32 API 的引用,導致跨平臺變得困難。

直到微軟在 2016 年認真對待 。NET Core,他們才開始解決 Mono 中的一些問題, 以及對 Win32 API 的揮之不去的依賴。但是在早期,。NET Core 、。NET Framework 、 。NET Standard 這些也讓開發人員感到混亂,不過值得慶幸的是,在 。NET 5 和現在的 。NET 6 中,這一切都已成為過去。

如今,。NET 6(最新的 。NET)可以在Windows、Linux和macOS上執行,並支援 x86、x64、Arm32和 Arm64。

.NET 很好,你可能對它有一些誤解

Microsoft 為多個平臺提供 SDK 和執行時。

這意味著,您可以在最新的 M1 MacBook 上構建 。NET 應用程式:

.NET 很好,你可能對它有一些誤解

在 2021 MacBook Pro M1 上使用命令列構建一個簡單的控制檯應用程式。

誤解 2:.NET 比 Node/Python/Go/Rust 慢?

實際上,。NET 6 具有極高的吞吐量,並且在 Web 測試中提供的吞吐量是在 Node 和 Python 上執行的任何框架的多倍。

最近幾年,。NET 團隊非常關注執行時幾乎所有方面的核心效能,雖然顯然它不會在原始效能上擊敗 Rust 或 C++,但它在執行 Web 應用方面並不落後。

而 Task Parallel Library 和 Span 為構建吞吐量和效能提供了更高的上限。

根據 TechEmpower Benchmarks 提供的Web 框架測試報告, 在 Round 15 from February 14, 2018 中,您可以看到 ASP。NET 實際上落後於 Node。js:

.NET 很好,你可能對它有一些誤解

2018 年:Node。js 第 8位, ASP。NET Core 13 位 ,Express 在 28 位,Flask 57位, Django 61 位。

在 Round 20 in February 8, 2021 中,僅僅三年後,。NET 絕對壓倒了 Node 和 Python,並且僅次於基於 Rust 的服務。

.NET 很好,你可能對它有一些誤解

2021 年: 。NET Core 在第8位, Node。js 56 位, Express 94 位, Flask 111 位, Django 118位。

在 gRPC 基準測試中,。NET 的表現也非常出色。

.NET 很好,你可能對它有一些誤解

如果您正在使用 gRPC,請不要考慮 Node 或 Python。

誤解 3:.NET 過時了?

和 Rust 和 Go 相比,很多人覺得 。NET 是一個過時的平臺,實際上,。NET 一直都在更新,並且語法和特性都很先進, 泛型, async/await, 匿名型別, 元組, 模式匹配,Expression 等等。

藉助於強大的 LINQ,C# 看起來非常像 JavaScript:

.NET 很好,你可能對它有一些誤解

根據 GitHub 的 2021 年 Octoverse 狀態報告,C# 在過去幾年中略有復甦:

.NET 很好,你可能對它有一些誤解

誤解 4:開發工具很貴?

實際上,早期的 Visual Studio 開發工具確實很貴!

但是現在,微軟不僅提供免費的、功能齊全的 Visual Studio 社群版,你還有其他的選擇:

JetBrains Rider 適用於 macOS 的 Visual Studio 當然還有VS Code

最近,我在 MacBook Pro M1 上使用 VS Code 完成了我的大部分 C#/。NET 開發:

.NET 很好,你可能對它有一些誤解

誤解5:.NET 對開源不友好 ?

早期的 。NET 確實是這樣的,但是自從 Satya Nadella 掌權以來,微軟在開源方面的整個軌跡已經發生了巨大的轉變。不過微軟在這方面的轉型和成長仍然還有很長的路要走。

。NET 本身由。NET Foundation管理,。NET 編譯器 (Roslyn) 和很多其他內部元件都在 GitHub ,並且自 2015 年以來,它已透過 Red Hat Enterprise Linux 認證。

誤解6:.NET 只能開發企業管理系統 ?

實際上,。NET 現在已經發展成一個統一平臺,你可以用它開發各種各樣的應用,包括桌面軟體,Web 服務,3D 遊戲等等。

。NET 也有很多構建跨平臺應用程式的框架,比如:

Multi-platform App UI Uno Platform Avalonia

全文完。。。

技術群:新增小編微信並備註進群

TAG: netNode誤解Visualstudio