.NET團隊 今天在官方部落格上 釋出了.NET 8的第一個預覽版,.NET 8 是一個長期支援 (LTS) 版本[1],.NET 的版本包括產品、庫、執行時和工具,是 Microsoft 內部和外部多個團隊之間的共同作業。.NET 8 預覽版和候選釋出版本將每月交付一次,最終交付時間是今年的.NET 大會 。
.NET 8 預覽版 1 中的新增功能方面主要有兩個:NativeAOT編譯的完善,在Web開發方面,新的Blazor United專案融合了混合匹配伺服器端和使用者端渲染功能。
.NET團隊首席專案經理的Jeremy Likness在 「宣佈.NET 8 Preview 1 [2] 貼文中說 ,NativeAOT是在.NET 7中引入的,但開發團隊將在11月釋出的.NET 8 中投入更多工作,例如減小應用大小,Linux 版本現在縮小了 50%,使用Native AOT釋出應用程式會建立一個完全獨立的應用程式版本,不需要單獨的執行時,因為所有內容都包含在單個檔案中,從預覽版1開始,這個檔案更小。事實上,Linux 版本現在縮小了 50%。
在知乎上有大量的討論 NativeAOT的缺席阻礙了.NET的採用,微軟將NativeAOT的優勢列為:
與此同時,ASP.NET Core首席專案經理 Daniel Roth 寫了文章ASP.NET .NET 8 預覽版 1 中的核心更新[3],介紹了他的團隊正在做什麼,從史蒂夫·桑德森(Steve Sanderson)的原型專案開始,他稱之為「Blazor United」:
Daniel Roth說到 「在.NET 8中,我們正在努力將伺服器端和使用者端渲染的優勢結合到基於Blazor的單個全棧程式設計模型中,我們目前稱這種努力為'開拓者聯隊'。Blazor United 將允許你使用單個基於 Blazor 的體系結構進行伺服器端呈現,並與 Blazor Server 或 WebAssembly 進行完整的使用者端互動。這一切都在一個專案中,能夠在不同的渲染模式之間輕鬆切換,甚至在同一頁面中混合它們。Blazor United還將啟用新的渲染功能,例如流式渲染以及導航和表單貼文的逐步增強。
他還介紹了面向 Web 開發人員的本機 AOT:「.NET 7 引入了對將 .NET 控制檯專案發布為NativeAOT[4] 的支援,生成一個獨立的、特定於平臺的可執行檔案,沒有任何執行時 JIT。本機 AOT 應用的啟動速度非常快,並且使用更少的記憶體。可以將應用程式部署到未安裝任何 .NET 執行時的計算機或容器。在 .NET 8 中,我們將把對NativeAOT的支援擴充套件到 ASP.NET Core,從使用最小 API 構建的以云為中心的 API 應用開始,這些應用可以滿足有關已釋出檔案大小、啟動時間、工作集和吞吐量效能的預期。
除了對本機AOT的討論外,Likness還強調了其他關於容器映像,JSON改進,Linux支援等常規.NET 8工作。新的「.NET 8 中的新增功能」[5]檔案中詳細介紹了所有內容。 至於 ASP.NET Core改進的細節,有興趣的讀者可以查閱 .NET 8 的 ASP.NET Core路線圖[6],其中以 Blazor 的 24 項為主,以 Blazor United 為首,如下圖所示:
微軟同時還發布了配套的開發工具支援:包括Visual Studio 2022 v17.5,Visual Studio for Mac 17.5和EFCore 8 Preview 1。
相關連結:
歡迎大家掃描下面二維條碼成為我的客戶,扶你上雲