什么是 .NET?
已完成
當(dāng)有人使用術(shù)語“.NET”時,其含義在很大程度上取決于上下文。 在此單元中,你將通過將 .NET 視為生態(tài)系統(tǒng)來了解它。 換句話說,你將了解到 .NET 是許多部件和人員的集合,這些部件和人員共同創(chuàng)建了生成應(yīng)用程序的強(qiáng)大環(huán)境。
.NET 是用于應(yīng)用程序開發(fā)的生態(tài)系統(tǒng)
術(shù)語“生態(tài)系統(tǒng)”描述了應(yīng)用程序開發(fā)環(huán)境及其周圍社區(qū)的多方面領(lǐng)域。 這些方面共同構(gòu)成了一個令人信服的理由,解釋了為何要在學(xué)習(xí) .NET 和生成 .NET 應(yīng)用程序方面投入精力。
使用 .NET 語言和編譯器在 .NET 運行時中運行應(yīng)用程序
軟件開發(fā)人員使用 C# 和 F# 等 .NET 語言編寫源代碼。 他們所編寫的每行代碼都表示一條指令或命令,計算機(jī)應(yīng)在程序運行時執(zhí)行該指令或命令。
在軟件開發(fā)人員運行其代碼之前,必須先對其進(jìn)行編譯。 .NET 編譯器是一個將源代碼轉(zhuǎn)換為特殊語言(稱為中間語言 (IL))的程序。 .NET 編譯器將 IL 代碼保存到名為“.NET 程序集”的文件中。 通過將代碼編譯為“中間”格式,無論是在 或 Linux 上,還是在 32 位或 64 位計算機(jī)硬件上運行代碼,都可以使用相同的代碼庫。
.NET 運行時是編譯后的 .NET 程序集的執(zhí)行環(huán)境。 換句話說,當(dāng)應(yīng)用程序在主機(jī)操作系統(tǒng)上運行時,.NET 運行時執(zhí)行和管理該應(yīng)用程序。 稍后我們將詳細(xì)討論 .NET 運行時的功能。
幸運的是,對于剛剛開始使用 .NET 的軟件開發(fā)人員,你不必在一開始就了解這些機(jī)制的工作原理。 隨著經(jīng)驗的積累,你將更加全面地理解和領(lǐng)會 .NET 語言、編譯器和運行時的潛在功能。
提示
有時,人們誤認(rèn)為 C# 編程語言就是 .NET。 但是,C# 和 .NET 是截然不同的。 C# 是一種編程語言語法。 作為語法的一部分,你可以引用和調(diào)用 .NET 代碼庫或程序集中定義的方法。 此外,還可以使用隨 .NET SDK 一起安裝的 C# 編譯器從 C# 代碼創(chuàng)建程序集。 .NET 運行時運行 .NET 程序集。 了解這些區(qū)別將有助于你在學(xué)習(xí)更多關(guān)于 .NET 和 C# 的知識時了解重要的概念。
使用 .NET 應(yīng)用程序框架和庫來利用預(yù)生成功能
所有軟件都是分層生成的,這意味著軟件在計算機(jī)的不同抽象層次上運行:
代碼庫將特定用途的功能封裝到單個程序集中。 對于 .NET模型評價是應(yīng)用模型,可以使用數(shù)千個庫。 這些庫可以是第一方的,也可以是第三方的,可以是商業(yè)的,也可以是開源的。 這些庫提供了一系列可在應(yīng)用程序中使用的功能。 只需引用這些程序集并調(diào)用所需的方法。 作為開發(fā)人員,你可以使用這種方法在其他軟件開發(fā)人員的工作之上生成應(yīng)用程序。 由于無需自己生成和維護(hù)每個功能,因此可以節(jié)省你的時間和精力。
應(yīng)用程序框架結(jié)合了幾個相關(guān)的庫、初學(xué)者項目、文件模板、代碼生成器以及其他工具。 你可以使用這些資源為特定目的生成整個應(yīng)用程序。 這些應(yīng)用程序框架稱為“應(yīng)用模型”。 例如,常用的 .NET 應(yīng)用程序框架可用于 Web 開發(fā)、桌面和移動開發(fā),以及游戲開發(fā)等應(yīng)用模型。
可以直接安裝 .NET SDK,也可以安裝 2022。 .NET SDK 預(yù)安裝了一組全面的庫和應(yīng)用程序框架,稱為“基類庫”。 你可以在程序中使用此代碼庫,無需考慮你要生成的平臺或應(yīng)用模型。
對于其他第三方庫,開發(fā)人員使用 NuGet 等包管理器從包存儲庫(如 NuGet 庫)中查找并集成代碼庫。
主要應(yīng)用模型有哪些?
你可能想知道框架所支持的應(yīng)用模型。 使用下表將應(yīng)用模型映射到 .NET 框架。
應(yīng)用模型框架說明
Web
ASP.NET Core
用于生成服務(wù)器端邏輯的框架。
Web
ASP.NET Core MVC
用于為網(wǎng)頁或 Web API 生成服務(wù)器端邏輯的框架。
Web
ASP.NET Core Razor Pages
用于生成服務(wù)器生成的 HTML 的框架。
Web 客戶端
是 ASP.NET Core 的一部分。 它的兩種模式允許通過套接字進(jìn)行文檔對象模型 (DOM) 操作,作為運行服務(wù)器端代碼的通信工具,或者作為在瀏覽器上運行已編譯 C# 的 實現(xiàn)。
桌面
用于生成“戰(zhàn)艦灰色” 風(fēng)格應(yīng)用程序的框架。
桌面
(WPF)
一個框架,用于生成符合不同外形規(guī)格的動態(tài)桌面應(yīng)用程序。 WPF 允許外形元素在豐富的動畫庫的幫助下執(zhí)行移動、淡出、滑動和其他效果。
移動
允許 .NET 開發(fā)人員為 iOS 和 設(shè)備生成應(yīng)用。
此外,.NET 還支持常用的第三方及開源游戲開發(fā)環(huán)境和 Unity 等引擎。
使用 .NET 工具生成 .NET 應(yīng)用
軟件開發(fā)人員依賴工具來編寫代碼、添加對代碼庫的引用、編譯代碼和調(diào)試代碼。 本部分介紹了幾種用于生成 .NET 應(yīng)用程序的 .NET 工具。
2022 是 旗艦開發(fā)環(huán)境。 數(shù)百萬開發(fā)人員使用它來生成 .NET 應(yīng)用程序。 包含菜單、窗口、可視化設(shè)計器、對話框和向?qū)У膱D形用戶界面可引導(dǎo)開發(fā)人員完成應(yīng)用程序開發(fā)過程。 2022 提供三個版本:、 和 。 每個版本都包含不同的工具,并且授權(quán)用于不同的目的。
更喜歡命令行工作流的開發(fā)人員可以將 Code(世界上最常用的代碼編輯器)與 .NET 命令行接口(也稱為 .NET CLI)結(jié)合使用。
此外,你可以選擇許多第一方和第三方的工具,并將其用于諸多高級 .NET 用例。 可以選擇代碼探查器、單元測試運行程序,以及代碼覆蓋率分析器。
你可以在其他應(yīng)用場景中找到其他 .NET 工具。 例如,你稍后將在本模塊中使用 Try .NET。 使用此基于瀏覽器的界面來編寫簡單的應(yīng)用程序,以幫助你了解 C# 編程語言。
在文檔和教程中查找解決方案和答案
主動提供一套內(nèi)容豐富的文檔、教程和培訓(xùn)。 你可以找到最常用的學(xué)習(xí)材料,為你學(xué)習(xí)過程中的每一步提供幫助。
下表列出了一些非常實用的資源,你可能會想將這些資源添加到書簽,方便以后查看。
資源目的
Docs
提供快速入門教程和權(quán)威參考文檔。
模式與最佳做法
幫助開發(fā)人員和軟件架構(gòu)師查找常見應(yīng)用程序開發(fā)需求的解決方案。 除提供編寫代碼的底層詳細(xì)信息外,這些資源還深入研究如何選擇能夠?qū)崿F(xiàn)無限可伸縮架構(gòu)的產(chǎn)品和服務(wù)。
.NET 視頻
提供來自 .NET 團(tuán)隊的視頻教程。 這些視頻為開發(fā)人員介紹常見的使用場景。
Learn
提供動手實驗室,通過結(jié)合說明、練習(xí)、媒體、知識檢查和跟蹤進(jìn)度的方法模型評價是應(yīng)用模型,幫助你訓(xùn)練技能。
與 .NET 社區(qū)交互以了解和共享解決方案
.NET 生態(tài)系統(tǒng)不僅僅局限于語言、庫和工具,還擴(kuò)展到人員方面。 你既可以借助社區(qū)學(xué)習(xí),也可以為社區(qū)做出貢獻(xiàn)。
.NET 生態(tài)系統(tǒng)與其他生態(tài)系統(tǒng)相比如何?
如果你熟悉軟件開發(fā)領(lǐng)域,則可能會想知道 .NET 生態(tài)系統(tǒng)與其他系統(tǒng)相比如何。 坦率地說,其他生態(tài)系統(tǒng)可以對本單元迄今為止的部分陳述或很多陳述提出類似的主張。
然而,.NET 最顯著的特點之一是它的持續(xù)開發(fā)和支持不僅來自于主要的技術(shù)領(lǐng)導(dǎo)者,還來自社區(qū)。 .NET 的重要部分是通過開源方式開發(fā)的。 歡迎和鼓勵社區(qū)的意見和貢獻(xiàn)。 事實上,87% 的參與者都不屬于 。 根據(jù)社區(qū)的意見, 通過功能增強(qiáng)、bug 修復(fù)和性能改進(jìn)來積極推動平臺向前發(fā)展。 已接受社區(qū)中超過 100,000 個拉取請求。
此外,.NET 生態(tài)系統(tǒng)勢頭強(qiáng)勁:
.NET 簡史
最初的 .NET 于 2002 年初首次發(fā)布。 從那以后,許多更新和更多功能隨之推出。 經(jīng)過多年的改進(jìn)和新功能積聚,最初的 .NET (特別是關(guān)鍵代碼庫)有了顯著增長。
2002 年之后, 致力于開發(fā)具有跨平臺兼容性的 .NET 版本。 其目標(biāo)是允許開發(fā)人員編寫一個基本代碼,并可跨 macOS、Linux 和 操作系統(tǒng)使用它。
通過不懈的努力,.NET Core 于 2014 年左右推出。 維護(hù)著最初的 .NET ,但新功能和改進(jìn)是為 .NET Core 保留的。 “Core”稍后從名稱中刪除。 之后推出的主要版本是 .NET 5、.NET 6、.NET 7 等。 這些版本通常在每年 11 月發(fā)布。
我們?yōu)槭裁匆谶@里介紹 .NET 的歷史? 因為你可能會找到針對最初的 .NET 的博客文章、視頻和源代碼。 在某些情況下,說明或代碼仍然有效,但在其他情況下,你可能需要進(jìn)行調(diào)整,以適應(yīng)新的 .NET。
繼續(xù)