.NET Conf 2021 正在进行中,带你看一看微软带来了什么内容
今年最大的.NET活動正在進行, 可以通過Channel9?https://channel9.msdn.com/Events/dotnetConf/2021?看具體的Session 。微軟和社區(qū)一直在努力統(tǒng)一.NET技術(shù)棧。從Visual Studio 到 SQL 和 Azure ,所有功能聚集一堂,讓您在桌面、網(wǎng)絡(luò)、移動和跨平臺開發(fā)夢想成為現(xiàn)實。在第一天的Keynotes上斯科特 ·亨特 和其他的團隊成員為我們做.NET 6發(fā)布的相關(guān)說明。
首先是回顧了.NET統(tǒng)一平臺的生態(tài)系統(tǒng),這張圖相比以往有大的變化, 底層完成了統(tǒng)一,生態(tài)工具越發(fā)完整。自2014年11月12日宣布開源后,.NET就成為了一個跨平臺、面向多場景的技術(shù)。你可以在傳統(tǒng)的Windows上安裝.NET,也可以在Linux,macOS下安裝.NET并進行云原生、桌面、移動應(yīng)用、大數(shù)據(jù)、機器學(xué)習(xí)、游戲、物聯(lián)網(wǎng)的開發(fā)。這次更新也圍繞這些場景,為不同行業(yè)進行賦能。
過往一年.NET的生態(tài)繼續(xù)增長,使用vs開發(fā)的人數(shù)增長到了540萬,特別是.NET 6的開發(fā),社區(qū)貢獻者超過6900人,貢獻的超過2.1W。
NET 6 帶來了許多性能改進和生產(chǎn)力提升,而且還是一個長期支持版本,意味著你除了可以穩(wěn)定地使用外,還可以得到安全和補丁更新。根據(jù).NET官網(wǎng)上的資料,.NET 6在2023年11月前都會得到維護,所以大家可以安心使用 。在.NET 的每個連續(xù)版本中,.NET 在執(zhí)行速度和內(nèi)存使用方面都取得了一些令人印象深刻的進步。如果你一直沒有跟蹤, 你很可能會被. NET 框架的累積收益吹走。這一點你可以看看Techempower的測試的報告,具體參見 https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=composite
Visual Studio 2022從公開預(yù)覽開始,微軟就告訴?家這是第?個64位版本的Visual Studio。這意味著你不再需要受限于devenv.exe進程內(nèi)4G內(nèi)存的限制,開發(fā)人員能夠更快打開,編輯,運?和調(diào)試更多大而復(fù)雜的解決?案。當(dāng)然Visual Studio 2022是64位應(yīng)?程序,但它是不會改變通過Visual Studio構(gòu)建應(yīng)?程序的類型和位數(shù)。也就是說你依然可以通過它去維護你之前構(gòu)建的32位應(yīng)?程序,以及基于arm架構(gòu)的應(yīng)?程序
Visual Studio 2022 讓開發(fā)團隊更快地構(gòu)建云原生應(yīng)用。結(jié)合GitHub Actions , 更好地讓你的云原生應(yīng)用能夠基于CI/CD快速迭代,提升開發(fā)效率。當(dāng)你構(gòu)建初次構(gòu)建云應(yīng)用時,Visual Studio 2022就會幫你設(shè)置你所需要的相關(guān)配置,如Azure環(huán)境,如GitHub Actions 上所對應(yīng)的設(shè)置等。讓開發(fā)?員更專注于開發(fā)。
Visual Studio 2022 更好地讓你編寫.NET應(yīng)?程序,?論你是傳統(tǒng)的桌面和網(wǎng)頁開發(fā)人員,是基于全新的Blazor構(gòu)建你的Web解決?案,還是基于MAUI的跨平臺客戶端解決方案,你都可以通過Visual Studio 2022快速搭建,編寫,調(diào)試和部署。當(dāng)然之前鬧得沸沸揚揚的熱重載都會在Visual Studio 2022出現(xiàn)。作為.NET 開發(fā)?員的你不心動么?
.NET升級助手已經(jīng)支持.NET 6,幫助你把傳統(tǒng)的.NET Framework應(yīng)用程序升級到.NET 6
C#語言的最新版本是10.0,有幾個有趣的變化,對于愛整潔的csharper 來說,全局引用(Global using)和 文件范圍的命名空間 是很好的互補。現(xiàn)在,您可以聲明適用于整個編譯單元(很可能是項目)的全局使用,并避免到每個文件頂部的去添加相同指令集。文件范圍的命名空間還允許您聲明適用于給定文件中所有代碼的命名空間,無需單行無需更多匹配卷曲大括號,源文件中的凹痕級別也較少。
Minimal API 是構(gòu)建 HTTP 服務(wù)的另一種方法,用于開發(fā)云原生應(yīng)用是很爽的。在.NET 6通過 web 模板創(chuàng)建的項目都會使用Minimal API。這里需要說明?點:Minimal API不會取代大家熟悉的MVC框架。如果你的應(yīng)用是希望構(gòu)建API,建議使用web模板的方式去構(gòu)建。但如果你需要更多與 ASP.NET頁面相關(guān)的東西建議還是使用MVC模板。
微軟云服務(wù)的產(chǎn)品已經(jīng)使用.NET 5/6構(gòu)建,獲得了很大的收益,你訪問https://cn.bing.com/version?就知道bing已經(jīng)運行在.NET 6
YARP 也發(fā)布了期待的1.0, Microsoft Dynamics 365 和 Azure App Service已經(jīng)在使用YARP。
從單體應(yīng)用到微服務(wù)應(yīng)用的開發(fā)也是.NET 6的主要場景,各類云服務(wù)已經(jīng)全面支持.NET6,AKS 搭配Dapr 上運行dotnet應(yīng)用是最佳選擇,微軟已經(jīng)推出的Azure Container Apps 就是集成 了Dapr,使用Visual Studio 2022開發(fā)容器化應(yīng)用程序可以直接發(fā)布到Azure Container Apps,具體參見我的另外一篇文章<集成Dapr的 Azure 容器應(yīng)用>了解一下Azure Container Apps
在 ASP.NET Core 6 里面有大量的更新是關(guān)于Blazor。例如,Blazor 應(yīng)用程序現(xiàn)在可以直接編譯到 WebAssembly,以便在 IL 解釋(即.NET 本地編譯)版本的相同代碼上來提高應(yīng)用程序速度。本地編譯/調(diào)試體驗仍然很快,因為漫長的編譯時間僅適用于包裝/發(fā)布。微軟也為Blazor的開發(fā)帶來了一套組件庫Blazor Fluent UI
還有一個非常有趣的功能,使 Blazor 可用于通過 MAUI 編寫桌面應(yīng)用程序。Blazor 的最大好處就是開發(fā)人員可以完全用 C# 編寫 Web 應(yīng)用程序,而不需要為了寫前端必須切換到 Javascript。如果沒有 C# 和 Javascript 之間的額外接縫,前端和后端代碼之間就不需要映射層。可以在兩側(cè)使用相同的 C# 模型,這意味著需要的代碼更少,因此開發(fā)應(yīng)用程序所需的時間也更少。Blazor 桌面進一步擴展了這一概念,以允許此共享代碼現(xiàn)在也可以與桌面應(yīng)用程序無縫集成。
MAUI 是 Xamarin 的演進,還包括桌面平臺。它允許從單個代碼庫針對 iOS、Android、macOS 和 Windows。MAUI 處理對本機平臺 API 的抽象,因此您可以以與平臺無關(guān)的方式訪問設(shè)備傳感器等內(nèi)容。對 Xamarin 的一種印象是,它們最終得到的界面很少,而且在任何平臺上都不太好看。MAUI 將如何解決這一問題還有待觀察。如果你關(guān)心的是跨多個平臺的開發(fā)速度和維護成本,那么 MAUI 值得仔細研究。MAUI 要在2022年的第二個季度正式發(fā)布,大會上發(fā)布了.NET MAUI Preview 10, 很多同學(xué)安裝了VS2022卻找不到MAUI,因為他需要 需要使用Visual Studio 2022 的Preview 通道下安裝17.1 Preview,建議當(dāng)前采取觀望的方法,進行小的嘗試以了解平臺在全面采用之前的長期發(fā)展方向。
總結(jié)
以上是生活随笔為你收集整理的.NET Conf 2021 正在进行中,带你看一看微软带来了什么内容的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET 6 对 StackOverfl
- 下一篇: 手把手教你学Dapr - 3. 使用Da