什么是.Net?
.NET 是一個(gè)開發(fā)平臺(tái),或者叫開發(fā)者平臺(tái)。使用 .NET 你可以創(chuàng)建不同類型的應(yīng)用程序,使用多種開發(fā)語言、編輯器和工具庫創(chuàng)建網(wǎng)頁、手機(jī)、桌面以及游戲等應(yīng)用。其核心特點(diǎn)是:免費(fèi)、開源和跨平臺(tái)。
1.語言和平臺(tái)
我們先來理解一下什么是 .NET 開發(fā)平臺(tái)。
簡單說,開發(fā)平臺(tái)就是為應(yīng)用軟件開發(fā)提供的一個(gè)工作平臺(tái)。.NET 開發(fā)平臺(tái)主要包括公共語言運(yùn)行時(shí)(CLR)和框架類庫(FCL)。其中 FCL 包含基礎(chǔ)類庫(BCL)和 ASP.NET (Core)、ADO.NET、WPF、WinForm 等框架類庫。
經(jīng)常會(huì)聽到有人拿 .NET 與 Java 對應(yīng)。嚴(yán)格來說是不對的,與 Java 對應(yīng)的是 C#,與 JVM 對應(yīng)的是 CLR,與 JDK 對應(yīng)的是 .NET Framework/.NET Core/.NET 5+ SDK。JVM 上有多種語言,CLR 上也有多種語言。比如 JVM 上有 Java、Scala、JPython 等,CLR 上有 C#、F#、IronPython 等。
當(dāng)然,平時(shí)我們不必刻意去區(qū)分對應(yīng)關(guān)系。當(dāng)我們聽到有人把 .NET 與 Java 對應(yīng)時(shí),也完全不必較真。因?yàn)?C# 語言在 .NET 平臺(tái)的市場上占據(jù)了絕對主導(dǎo)的地位,所以人們默認(rèn)就把 .NET 與 C# 綁在了一塊兒。比如人們習(xí)慣了說 .NET 生態(tài)和 Java 生態(tài),而很少聽說 C# 生態(tài)。
還有人把 .NET 等同于 .NET Framework 或 .NET Core。準(zhǔn)確的來說也是不對的,.NET 是開發(fā)平臺(tái),.NET Framework 是在 .NET 平臺(tái)上針對 Windows 系統(tǒng)實(shí)現(xiàn)的開發(fā)框架,.NET Core/.NET 5+ 是在 .NET 平臺(tái)上實(shí)現(xiàn)的支持多操作系統(tǒng)的跨平臺(tái)開發(fā)框架。
2.主要特點(diǎn)
前面說到了 .NET 的核心特點(diǎn)是免費(fèi)、開源和跨平臺(tái)。即,它的開源協(xié)議是最開放的 MIT 協(xié)議,允許在任何商業(yè)環(huán)境中使用。它的跨平臺(tái)特性使得它可以它可以運(yùn)行于任何環(huán)境,如 Windows、Linux、macOS、iOS、watchOS 和 Docker 等。
.NET 的另一個(gè)我最喜歡的特點(diǎn)是:大生態(tài)。來看一張來自官網(wǎng)的圖:
3.多語言支持
你可以使用多種語言來編寫 .NET 應(yīng)用程序,主流的語言有:C#, F# 和 Visual Basic。
- C# 是一種簡單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩木幊陶Z言,其名字的意義源于 C++,并受到了五線譜中的升號(hào) # 的啟發(fā)。它在 C++ 的基礎(chǔ)上再 ++ ,就是 4 個(gè) +,即 #,恰好和五線譜中的 #(sharp) 一樣。所以 C# 讀作 [si:'?ɑrp],不要讀成 C 井哦。
- F# 是一種跨平臺(tái)的、開源的函數(shù)式編程語言。它還包括面向?qū)ο蠛兔钍?Imperative)編程。它為那些熟悉函數(shù)式編程語言的人轉(zhuǎn)換到 .NET 平臺(tái)提供了便利。函數(shù)式編程在某些場景下比面向?qū)ο缶幊谈奖愀咝?#xff0c;有其自身特點(diǎn),是對 .NET 平臺(tái)的一個(gè)有益補(bǔ)充。
- Visual Basic,簡稱 VB,是一種接近人類語言的語言。它的語法簡單,易學(xué),一般用于建立基于事件驅(qū)動(dòng)的視窗應(yīng)用程序。很多傳統(tǒng)企業(yè)和小公司還在用。現(xiàn)在很多人學(xué) VB 語言主要是為了 VBA 編程,使用 Excel 自動(dòng)化辦公。
當(dāng)年也出現(xiàn)了像 IronPython、IronRuby、IronScheme 等,不過這些項(xiàng)目已經(jīng)死掉了。
4.多開發(fā)工具支持
你可以使用多種工具來進(jìn)行 .NET 編程,有強(qiáng)大的 Visual Studio、輕小的 Visual Studio Code 和 JetBrains 出品的 Rider 等。
- Visual Studio:Windows 上功能齊全的集成開發(fā)環(huán)境(IDE),用于構(gòu)建各種類型的 .NET 應(yīng)用程序。還有專為 MacOS 打造的兄弟款:Visual Studio for Mac。
- Visual Studio Code:可在 Linux、macOS 或 Windows 上開發(fā),建立跨平臺(tái)網(wǎng)站和服務(wù),需安裝 C# 擴(kuò)展。
- JetBrains Rider:JetBrains 出品,體驗(yàn)也不錯(cuò),它使用的是 IntelliJ 和 ReSharper 技術(shù)構(gòu)建的跨平臺(tái) .NET IDE。
- OmniSharp: 它使 Atom、Sublime Text、Emacs 和 Vim 等編輯器支持跨平臺(tái) .NET 開發(fā)。
5.人們的誤解
至今我還偶爾會(huì)看到網(wǎng)上的一些評論說,.NET 是閉源的、收費(fèi)的、只能在 Windows 上跑等言論。這些都是誤解,這些人的觀念都還停留在 2016 年以前,面對這些評論,我們只能呵呵了。
還有人認(rèn)為 .NET 的性能低,這也是老舊觀念了。從 .NET Core 成熟后,其性能和 Go 旗鼓相當(dāng)。在 Web 綜合性能方面,其性能高出 Node.js 的 7 倍多(.NET 5 高出 10 倍多)。
還有很多人認(rèn)為 .NET 是由微軟自己開發(fā)和維護(hù)的,其實(shí)不完全是。自 .NET 開源以來,參與建設(shè) .NET 平臺(tái)的有微軟自己的團(tuán)隊(duì),也有來自世界各地的 6 萬多名開發(fā)者和 3700 多家公司。另外,早在 2014 年,微軟就成立了 .NET 基金會(huì),有微軟、Google、三星等大廠扶持,用來推進(jìn) .NET 平臺(tái)的發(fā)展。
.NET 熱情擁抱了開源和跨平臺(tái),開發(fā)市場也在熱情地?fù)肀?.NET,越來越多的開發(fā)人員和公司參與到了 .NET 的大家庭中。
總結(jié)
- 上一篇: MySQL-数据库驱动程序的下载
- 下一篇: 1、spring之Resource加载