.NET Conf 2021 正在進行中,帶你看一看微軟帶來了什麼內容

今年最大的.NET活動正在進行, 可以通過Channel9 //channel9.msdn.com/Events/dotnetConf/2021 看具體的Session 。微軟和社區一直在努力統一.NET技術棧。從Visual Studio 到 SQL 和 Azure ,所有功能聚集一堂,讓您在桌面、網絡、移動和跨平台開發夢想成為現實。在第一天的Keynotes上斯科特 ·亨特 和其他的團隊成員為我們做.NET 6發佈的相關說明。

首先是回顧了.NET統一平台的生態系統,這張圖相比以往有大的變化, 底層完成了統一,生態工具越發完整。自2014年11月12日宣布開源後,.NET就成為了一個跨平台、面向多場景的技術。你可以在傳統的Windows上安裝.NET,也可以在Linux,macOS下安裝.NET並進行雲原生、桌面、移動應用、大數據、機器學習、遊戲、物聯網的開發。這次更新也圍繞這些場景,為不同行業進行賦能。

image

過往一年.NET的生態繼續增長,使用vs開發的人數增長到了540萬,特別是.NET 6的開發,社區貢獻者超過6900人,貢獻的超過2.1W。

image

NET 6 帶來了許多性能改進和生產力提升,而且還是一個長期支持版本,意味着你除了可以穩定地使用外,還可以得到安全和補丁更新。根據.NET官網上的資料,.NET 6在2023年11月前都會得到維護,所以大家可以安心使用 。在.NET 的每個連續版本中,.NET 在執行速度和內存使用方面都取得了一些令人印象深刻的進步。如果你一直沒有跟蹤, 你很可能會被. NET 框架的累積收益吹走。這一點你可以看看Techempower的測試的報告,具體參見 //www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=composite

image

Visual Studio 2022從公開預覽開始,微軟就告訴⼤家這是第⼀個64位版本的Visual Studio。這意味着你不再需要受限於devenv.exe進程內4G內存的限制,開發人員能夠更快打開,編輯,運⾏和調試更多大而複雜的解決⽅案。當然Visual Studio 2022是64位應⽤程序,但它是不會改變通過Visual Studio構建應⽤程序的類型和位數。也就是說你依然可以通過它去維護你之前構建的32位應⽤程序,以及基於arm架構的應⽤程序

Visual Studio 2022 讓開發團隊更快地構建雲原生應用。結合GitHub Actions , 更好地讓你的雲原生應用能夠基於CI/CD快速迭代,提升開發效率。當你構建初次構建雲應用時,Visual Studio 2022就會幫你設置你所需要的相關配置,如Azure環境,如GitHub Actions 上所對應的設置等。讓開發⼈員更專註於開發。

Visual Studio 2022 更好地讓你編寫.NET應⽤程序,⽆論你是傳統的桌面和網頁開發人員,是基於全新的Blazor構建你的Web解決⽅案,還是基於MAUI的跨平台客戶端解決方案,你都可以通過Visual Studio 2022快速搭建,編寫,調試和部署。當然之前鬧得沸沸揚揚的熱重載都會在Visual Studio 2022出現。作為.NET 開發⼈員的你不心動么?

image

.NET升級助手已經支持.NET 6,幫助你把傳統的.NET Framework應用程序升級到.NET 6

image

C#語言的最新版本是10.0,有幾個有趣的變化,對於愛整潔的csharper 來說,全局引用(Global using)和 文件範圍的命名空間 是很好的互補。現在,您可以聲明適用於整個編譯單元(很可能是項目)的全局使用,並避免到每個文件頂部的去添加相同指令集。文件範圍的命名空間還允許您聲明適用於給定文件中所有代碼的命名空間,無需單行無需更多匹配捲曲大括號,源文件中的凹痕級別也較少。

image

Minimal API 是構建 HTTP 服務的另一種方法,用於開發雲原生應用是很爽的。在.NET 6通過 web 模板創建的項目都會使用Minimal API。這裡需要說明⼀點:Minimal API不會取代大家熟悉的MVC框架。如果你的應用是希望構建API,建議使用web模板的方式去構建。但如果你需要更多與 ASP.NET頁面相關的東西建議還是使用MVC模板。

image

微軟雲服務的產品已經使用.NET 5/6構建,獲得了很大的收益,你訪問//cn.bing.com/version 就知道bing已經運行在.NET 6

image

YARP 也發佈了期待的1.0, Microsoft Dynamics 365 和 Azure App Service已經在使用YARP。

image

從單體應用到微服務應用的開發也是.NET 6的主要場景,各類雲服務已經全面支持.NET6,AKS 搭配Dapr 上運行dotnet應用是最佳選擇,微軟已經推出的Azure Container Apps 就是集成 了Dapr,使用Visual Studio 2022開發容器化應用程序可以直接發佈到Azure Container Apps,具體參見我的另外一篇文章<集成Dapr的 Azure 容器應用>了解一下Azure Container Apps

image

image

image

在 ASP.NET Core 6 裏面有大量的更新是關於Blazor。例如,Blazor 應用程序現在可以直接編譯到 WebAssembly,以便在 IL 解釋(即.NET 本地編譯)版本的相同代碼上來提高應用程序速度。本地編譯/調試體驗仍然很快,因為漫長的編譯時間僅適用於包裝/發佈。微軟也為Blazor的開發帶來了一套組件庫Blazor Fluent UI

image

image

image

image

還有一個非常有趣的功能,使 Blazor 可用於通過 MAUI 編寫桌面應用程序。Blazor 的最大好處就是開發人員可以完全用 C# 編寫 Web 應用程序,而不需要為了寫前端必須切換到 Javascript。如果沒有 C# 和 Javascript 之間的額外接縫,前端和後端代碼之間就不需要映射層。可以在兩側使用相同的 C# 模型,這意味着需要的代碼更少,因此開發應用程序所需的時間也更少。Blazor 桌面進一步擴展了這一概念,以允許此共享代碼現在也可以與桌面應用程序無縫集成。

image

MAUI 是 Xamarin 的演進,還包括桌面平台。它允許從單個代碼庫針對 iOS、Android、macOS 和 Windows。MAUI 處理對本機平台 API 的抽象,因此您可以以與平台無關的方式訪問設備傳感器等內容。對 Xamarin 的一種印象是,它們最終得到的界面很少,而且在任何平台上都不太好看。MAUI 將如何解決這一問題還有待觀察。如果你關心的是跨多個平台的開發速度和維護成本,那麼 MAUI 值得仔細研究。MAUI 要在2022年的第二個季度正式發佈,大會上發佈了.NET MAUI Preview 10, 很多同學安裝了VS2022卻找不到MAUI,因為他需要 需要使用Visual Studio 2022 的Preview 通道下安裝17.1 Preview,建議當前採取觀望的方法,進行小的嘗試以了解平台在全面採用之前的長期發展方向。

image

Tags: