1. 程式人生 > >.NET Conf 2019 大會上釋出.NET Core 3.0

.NET Conf 2019 大會上釋出.NET Core 3.0

北京時間今天凌晨如期在.NET Conf 上釋出.NET Core 3.0,Keynotes 由Scott Hunter 主演,主要圍繞.NET Core 3.0的新特性和社群展開。

多功能性是.Net Core 成為我們的生活一部分的最好解釋。如果您是Web開發人員還是想開發桌面或移動應用程式,如果您是遊戲開發人員或想要從事機器學習,.NET Core就在您身邊。

Xamarin  使得我們使用Microsoft知識開發跨平臺移動應用程式,Unity用於開發遊戲。您還可以使用UWP 構建桌面應用程式 。Asp.net Core也是開發功能強大的基於Web的應用程式的主要參與者,提供了驚人的SPA Angular模板以及SignalR的實時應用程式等等。

雲原生計算的發展驅動著各個企業轉向遵循雲原生原則(啟動速度快、記憶體佔用低)的 .NET Core。.NET Core 對Docker容器的支援非常好,這使您可以輕鬆地將應用程式部署到雲端,您只需單擊幾下即可在雲上進行開發和部署。

ML.NET 是面向.NET開發人員的機器學習框架,當我們談論微軟 Azure中的認知服務時,我們真的在談論商品化的AI(人工智慧),ML.NET 賦予我們的應用程式設計師AI能力。

Blazor  也將接管一些JavaScript功能,不需要懂 AngularJS, React, Vue, 充分利用 .NET 的穩定性和一致性,讓我們成為全棧的Web開發人員。

.NET Core吸引人的功能還有很多,像高效能,開源,宇宙第一的開發人員工具等等。

.NET Core 從2016年釋出1.0 到現在的3.0, 已經有非常多的客戶在使用,在國內網易,騰訊是大家比較熟悉的大公司,微軟自己的搜尋引擎bing 和dot.net網站 已經升級到最新的.NET Core 3.0,部落格園也使用.NET Core 3.0完成了.NET向.NET Core 的升級。可以說.NET Core已經經過了血雨歷練,如果是.NET 1.0/2.0還在猶豫,那麼現在可以大膽升級到.NET Core 3.0,有眾多的合作伙伴也提供了很多支援工具和控制元件.關於.NET Core 3.0 官方部落格https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/,同事也釋出了Visual Studio 2019 16.3 https://devblogs.microsoft.com/visualstudio/dot-net-core-support-in-visual-studio-2019-version-16-3/ 和 Visual Studio 8.3 for mac https://devblogs.microsoft.com/visualstudio/visual-studio-2019-for-mac-version-8-3/

.NET Core 的誕生背景是在雲原生應用的開發,.NET Core對微服務的支援一流,昨天我特意寫了一篇文章《進擊的.NET 在雲原生時代的蛻變》,特別是k8s 讓.NET Core如虎添翼。

  • 體積更小:對於微服務分散式架構而言,更小的體積意味著更少的下載頻寬,更快的分發下載速度,.NET Core 的映象體積都很小,alpine的映象更小,帶上應用程式通常80M。
  • 啟動速度更快:對於傳統單體應用,啟動速度與執行效率相比不是一個關鍵的指標。原因是,這些應用重啟和釋出頻率相對較低。然而對於需要快速迭代、水平擴充套件的微服務應用而言,更快的的啟動速度就意味著更高的交付效率,和更加快速的回滾。尤其當你需要釋出一個有數百個副本的應用時,緩慢的啟動速度就是時間殺手。對於Serverless 應用而言,端到端的冷啟動速度則更為關鍵,即使底層容器技術可以實現百毫秒資源就緒,如果應用無法在 500ms 內完成啟動,使用者就會感知到訪問延遲。這裡我拿AWS Lambda來舉例,因為各大雲廠商都是以AWS是模仿的目標,AWS Lambda中可用的所有語言都是高階的,而不是像Assembler,C / C ++或Objective C那樣。從指令碼語言到JavaScript和Python,再到像Java和C#到Go這樣被編譯為二進位制檔案的託管執行時的語言,所有語言都是他們有自己的長處。在基準測試中,最重要的.NET Core是 冠軍,具體參看https://react-etc.net/entry/aws-lambda-benchmarks-node-js-python-java-c-go-dotnet-core
  • 佔用資源更少:執行時更低的資源佔用,意味著更高的部署密度和更低的計算成本。.NET Core的 CLR啟動速度非常快,降低啟動時資源消耗,可以減少資源爭搶,更好保障其他應用 SLA。
  • 支援水平擴充套件:.NET Core 3.0預設更好的支援Docker資源限制,官方團隊也在努力讓.NET Core成為真正的容器執行時,使其在低記憶體環境中具有容器感知功能並高效執行。 具體可以參看文章《從CLR GC到CoreCLR GC看.NET Core對雲原生的支援》,隨著記憶體成本的下降和虛擬化的流行,大記憶體配比已經成為趨勢。所以我們一般是採用水平擴充套件的方式,同時部署多個應用副本,在一個計算節點中可能執行一個應用的多個副本來提升資源利用率。

ASP.NET Core 3.0已經演變成為了一個全棧開發平臺,grpc + worker servie + Web Apis + Identity。 微軟的.NET團隊直接參與了gRpc ,Identity Server4,Swagger相關專案的開發工作,他們和asp.net core可以完美整合。

.NET Core 3.0 下載 https://dotnet.microsoft.com/download

內容豐富多次,最後放上視訊,視訊我已經放在騰訊視訊上。