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