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