北京時間今天凌晨如期在.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
內容豐富多次,最后放上視頻,視頻我已經放在騰訊視頻上。