.NET Core 簡介

     微軟於2016年推出了新一代的開發平臺,並且將其命名爲.NET Core。相較於舊的.NET Framework。

.NET Core有如下優點:

   1).NET Core採用模塊化開發。不再像.NET Framework那樣需要安裝整個安裝包。.NET Core核心只包含很少的文件,所有其他模塊都需要單獨安裝。根據需要引用各自不動的版本和包。

(2).NET Core支持獨立部署,也就是說,可以把.NET Core運行時環境和開發的程序打包到一起部署。這樣就不需要在服務器上安裝.NET Core運行環境,只要把程序複製到服務器上,程序就能運行,這對容器化、無服務器(Serverless)等非常友好。

(3)程序的運行效率更高。.NET Core的所有管道都是可以插拔的,我們可以決定程序需要哪些管道及它們的執行順序,因此用.NET Core開發出來的程序運行效率更高。

(4)ASP.NET Core程序內置了簡單且高效的Web服務器—Kestrel。Kestrel被嵌入ASP.NET Core程序中運行,因此整個ASP.NET Core程序其實就是一個控制檯程序。Kestrel可被配置上安全、HTTPS、限流、壓縮、緩存等功能,從而成爲直接面向終端用戶的Web服務器,這樣網站運行不依賴於IIS;也可以將其配置成輕量級的Web服務器,而安全、HTTPS、限流、壓縮、緩存等功能則由部署在它前面的IIS、Nginx等反向代理服務器完成。

微軟爲什麼拋棄舊的.NET Framework,而重新開發新的平臺呢?

 .NET Framework是2002年由微軟推出的開發平臺,那時候還沒有云服務平臺、容器、微服務等概念,也就不能在平臺中考慮這些因素,因此我們基於.NET Framework進行新項目的開發無法滿足功能需求。

.NET Standard介紹

   .NET Standard規定了一系列需要被所有.NET Core、.NET Framework及Xamarin等共同實現的API,包括有哪些類、有哪些方法、參數和返回值是什麼等。需要說明的是,.NET Standard只是一個規範,不是一個框架。不要以爲.NET Standard是一個被.NET Framework、.NET Core、Xamarin等共用的基礎庫,.NET Standard只是規定了需要被實現的規範,但是不負責具體實現。對於.NET Standard類型的類庫項目,當我們分別在.NET Core項目和.NET Framework項目中引用這個類庫的時候,就可以看到它們執行時的差別。

.NET Standard隨着.NET技術的升級而升級,不同版本的.NET Core、.NET Framework等支持不同版本的.NET Standard,越高版本的.NET Core、.NET Framework等支持的.NET Standard版本越高。如下圖所示

 如果一個類庫遵守一個版本的.NET Standard規範,那麼不低於對應這個版本的.NET Core、.NET Framework的項目都可以使用這個類庫。比如一個類庫遵守.NET Standard 2.0規範,那麼不低於.NET Core 2.0或者不低於.NET Framework 4.6.1的項目就都可以使用這個類庫。如果我們要編寫一個給公衆使用的類庫,爲了讓.NET Core、.NET Framework、Xamarin等開發人員都能使用這個類庫,這個類庫就應該是.NET Standard類庫,並且.NET Standard的版本應儘可能低一些,這樣低版本的.NET Core、.NET Framework、Xamarin的項目也能使用這個類庫。

 總而言之,.NET Standard是一個.NET平臺下的規範,使得我們開發的類庫可以被.NET Framework、.NET Core、Xamarin等使用,提高了代碼的複用性。.NET Standard已經完成了它的歷史使命。從.NET 5開始,微軟將不再更新.NET Standard,而是會把.NET 5、.NET 6等視爲單一的代碼庫,並會通過編譯期和運行時的檢查來解決不同平臺下它們所支持的功能具有差異這一問題。

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