[.NET大牛之路 002] 什麼是 .NET

.NET 是一個開發平臺,或者叫開發者平臺。使用 .NET 你可以創建不同類型的應用程序,使用多種開發語言、編輯器和工具庫創建網頁、手機、桌面以及遊戲等應用。其核心特點是:免費、開源和跨平臺。

語言和平臺

我們先來理解一下什麼是 .NET 開發平臺。

簡單說,開發平臺就是爲應用軟件開發提供的一個工作平臺。.NET 開發平臺主要包括公共語言運行時(CLR)和框架類庫(FCL)。其中 FCL 包含基礎類庫(BCL)和 ASP.NET (Core)、ADO.NET、WPF、WinForm 等框架類庫。

經常會聽到有人拿 .NET 與 Java 對應。嚴格來說是不對的,與 Java 對應的是 C#,與 JVM 對應的是 CLR,與 JDK 對應的是 .NET Framework/.NET Core/.NET 5+ SDK。JVM 上有多種語言,CLR 上也有多種語言。比如 JVM 上有 Java、Scala、JPython 等,CLR 上有 C#、F#、IronPython 等。

當然,平時我們不必刻意去區分對應關係。當我們聽到有人把 .NET 與 Java 對應時,也完全不必較真。因爲 C# 語言在 .NET 平臺的市場上佔據了絕對主導的地位,所以人們默認就把 .NET 與 C# 綁在了一塊兒。比如人們習慣了說 .NET 生態和 Java 生態,而很少聽說 C# 生態。

還有人把 .NET 等同於 .NET Framework 或 .NET Core。準確的來說也是不對的,.NET 是開發平臺,.NET Framework 是在 .NET 平臺上針對 Windows 系統實現的開發框架,.NET Core/.NET 5+ 是在 .NET 平臺上實現的支持多操作系統的跨平臺開發框架。

主要特點

前面說到了 .NET 的核心特點是免費、開源和跨平臺。即,它的開源協議是最開放的 MIT 協議,允許在任何商業環境中使用。它的跨平臺特性使得它可以它可以運行於任何環境,如 Windows、Linux、macOS、iOS、watchOS 和 Docker 等。

.NET 的另一個我最喜歡的特點是:大生態。來看一張來自官網的圖:

從圖中我們可以看到,.NET 支持 Web、桌面客戶端、移動應用、微服務、雲服務、機器學習、遊戲、物聯網(IoT)等開發,幾乎涵蓋了所有應用場景。也就是說,我們只需要掌握 C# 一門語言,就可以應對幾乎所有應用場景的開發。這個優勢,目前沒有任何一門其它語言或平臺可以相比。

其中部分生態目前相對還不是非常成熟,比如機器學習和大數據方面。隨着微軟和社區逐漸把 .NET 生態發展壯大,.NET 也會迎來越來越美好前景。

多語言支持

你可以使用多種語言來編寫 .NET 應用程序,主流的語言有:C#, F# 和 Visual Basic。

  • C# 是一種簡單、現代、面向對象和類型安全的編程語言,其名字的意義源於 C++,並受到了五線譜中的升號 # 的啓發。它在 C++ 的基礎上再 ++ ,就是 4 個 +,即 #,恰好和五線譜中的 #(sharp) 一樣。所以 C# 讀作 [si:'ʃɑrp],不要讀成 C 井哦。
  • F# 是一種跨平臺的、開源的函數式編程語言。它還包括面向對象和命令式(Imperative)編程。它爲那些熟悉函數式編程語言的人轉換到 .NET 平臺提供了便利。函數式編程在某些場景下比面向對象編程更方便高效,有其自身特點,是對 .NET 平臺的一個有益補充。
  • Visual Basic,簡稱 VB,是一種接近人類語言的語言。它的語法簡單,易學,一般用於建立基於事件驅動的視窗應用程序。很多傳統企業和小公司還在用。現在很多人學 VB 語言主要是爲了 VBA 編程,使用 Excel 自動化辦公。

當年也出現了像 IronPython、IronRuby、IronScheme 等,不過這些項目已經死掉了。

多開發工具支持

你可以使用多種工具來進行 .NET 編程,有強大的 Visual Studio、輕小的 Visual Studio Code 和 JetBrains 出品的 Rider 等。

  • Visual Studio:Windows 上功能齊全的集成開發環境(IDE),用於構建各種類型的 .NET 應用程序。還有專爲 MacOS 打造的兄弟款:Visual Studio for Mac。
  • Visual Studio Code:可在 Linux、macOS 或 Windows 上開發,建立跨平臺網站和服務,需安裝 C# 擴展。
  • JetBrains Rider:JetBrains 出品,體驗也不錯,它使用的是 IntelliJ 和 ReSharper 技術構建的跨平臺 .NET IDE。
  • OmniSharp: 它使 Atom、Sublime Text、Emacs 和 Vim 等編輯器支持跨平臺 .NET 開發。

人們的誤解

至今我還偶爾會看到網上的一些評論說,.NET 是閉源的、收費的、只能在 Windows 上跑等言論。這些都是誤解,這些人的觀念都還停留在 2016 年以前,面對這些評論,我們只能呵呵了。

還有人認爲 .NET 的性能低,這也是老舊觀念了。從 .NET Core 成熟後,其性能和 Go 旗鼓相當。在 Web 綜合性能方面,其性能高出 Node.js 的 7 倍多。

還有很多人認爲 .NET 是由微軟自己開發和維護的,其實不完全是。自 .NET 開源以來,參與建設 .NET 平臺的有微軟自己的團隊,也有來自世界各地的 6 萬多名開發者和 3700 多家公司。另外,早在 2014 年,微軟就成立了 .NET 基金會,有微軟、Google、三星等大廠扶持,用來推進 .NET 平臺的發展。

.NET 熱情擁抱了開源和跨平臺,開發市場也在熱情地擁抱 .NET,越來越多的開發人員和公司參與到了 .NET 的大家庭中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章