關於.NET Core

张子安發表於2024-03-30

摘要: .NET Core 3.1版本後,.NET Core概念被弱化,統稱.NET,截止至2024.3,最新為.NET 8.0

1.什麼是.NET Core?
.NET 是微軟推出的開發平臺,是.NET Framework、.NET Core、Xamarin/Mono等的統稱
.NET Framework 是Windows平臺下開發技術,近20年曆史
.NET Core 是免費、跨平臺、開源的開發技術,Xamarin/Mono是移動端跨平臺開發技術

2.為什麼程式要跨平臺?
存在使用成本、不同群體的適用等因素

3.Cloud Computing雲端計算
.NET Core 擁抱雲端計算,能動態管理伺服器租用需求,按需供應。
Microsoft Azure 全球第二大雲端計算廠商
.NET Core為雲而生,不止於雲,不止於Azure

4.C#是.NET中主要的開發語言

5..NET Core不是.NET Framework的直接升級,但保留了其絕大部分的用法

6.用Mono可以使.NET Framework的程式直接執行在Linux下

7.由於.NET Framework存在的缺點和歷史包袱,所以即使有了Mono也要推出.NET Core,以實現跨平臺
.NET Framework的缺點
①系統級別的安裝,使用同一個環境下的SDK,多個應用之間如果所需SDK得版本不同,會互相影響
②系統級別的安裝,無法獨立部署,對安裝環境和SDK有依賴
③ASP.NET 和IIS深度耦合
④ASP.NET資源消耗大
⑤非雲原生
簡而言之,框架重,不滿足雲端計算要求
.NET Framework的歷史包袱太重了
①ASP.NET MVC基於WebForm,多年積累的束縛
②ASP.NET 底層不支援很好的單元測試和依賴注入等

8.Mono多用於移動端

9..NET Core的優點
①支援獨立部署,不互相影響
②徹底模組化
③沒有歷史包袱,執行效率高
④不依賴於IIS
⑤跨平臺(存在部分Windows-Only的特性技術)
⑥符合現代開發理念:依賴注入、單元測試等

10..NET Core和.NET Framework的不同
①不支援:ASP.NET WebForms、WCF伺服器端、WorkFlow、.NET Remoting、Appdomain
②.NET Core存在部分Windows-Only的特性的技術,無法跨平臺
WinForm、WPF、登錄檔、Event Log、AD等

11.對於.NET Core使用的必要性
①舊的專案,非必要不遷移
②.NET Core已經足夠成熟,新專案可以放心使用

相關文章