前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
微軟於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等視為單一的代碼庫,並會通過編譯期和運行時的檢查來解決不同平臺下它們所支持的功能具有差異這一問題。
作者:小羽信息 出處:http://www.cnblogs.com/fer-team/ 本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。