微軟如期在11月發(fā)布最新的.NET 8長期支持版本,這個版本一如既往,官方再次強調(diào)新版本的性能提升,并且提高云計算的支持度,加入了一個稱為Aspire的云計算開發(fā)框架,助開發(fā)人員編寫生產(chǎn)就緒的云計算原生應(yīng)用程序。此外,在人工智能的支持上,.NET 8提供豐富組件供開發(fā)者在應(yīng)用程序中融入人工智能。
微軟再次稱新的.NET為當前最快的版本,官方提到,他們對整個技術(shù)堆棧進行數(shù)千項的性能改進,包括默認激活名為動態(tài)配置文件導(dǎo)向優(yōu)化(Dynamic Profile-Guided Optimization,PGO)的程序代碼生成器,可以根據(jù)實際使用狀況優(yōu)化程序代碼,提升應(yīng)用程序性能可達20%。
另外,.NET 8還默認支持AVX-512指令集,允許對512位元的矢量數(shù)據(jù)進行平行操作,進而在更短的時間處理更多數(shù)據(jù)。微軟在.NET 8的基本類別,實例了新的格式化和解析接口,可以直接以UTF-8格式進行格式化和解析,消除轉(zhuǎn)碼所要付出的額外成本開銷。
微軟指出,從最新的TechEmpower基準測試可以看出,.NET 8在JSON API的使用場景性能提升18%,在ASP.NET Core Minimal API可達到每秒接近100萬次請求的處理能力。在接近實際網(wǎng)頁工作負載的Fortunes場景中,包括數(shù)據(jù)庫訪問和服務(wù)器端HTML渲染,性能提升更為明顯達到24%,每秒可超過30萬次的請求。
.NET 8在云計算應(yīng)用上也獲得強化,微軟提到,.NET 8讓開發(fā)者更容易以容器打包應(yīng)用程序。每個.NET鏡像文件都會包含一個非根用戶,開發(fā)者僅通過單行指令就可簡單地配置安全容器。而.NET SDK工具可以在沒有Dockerfile的情況下,發(fā)布默認為非根的容器鏡像文件。官方表示,由于.NET基礎(chǔ)鏡像文件體積縮小,因此開發(fā)者可以更快地部署容器化應(yīng)用程序。
.NET 8還加入一個稱為.NET Aspire的技術(shù)框架,用于構(gòu)建高韌性、可觀測且可配置的云計算原生應(yīng)用程序,其具有一系列云計算原生應(yīng)用強化組件,包括遙測、韌性、配置和監(jiān)控功能等,可使開發(fā)者更簡單地開發(fā)用于生產(chǎn)環(huán)境的云計算應(yīng)用程序。
針對當前熱門的人工智能技術(shù),.NET 8 SDK提供多項人工智能功能和工具,降低開發(fā)者在應(yīng)用程序加入人工智能功能的復(fù)雜性。.NET 8強化System.Numerics函數(shù)庫,提升和生成式人工智能工作負載的兼容性,另外,微軟還提到,開源的Semantic Kernel SDK也能夠簡化人工智能組件與新舊應(yīng)用程序的集成,提升創(chuàng)新應(yīng)用開發(fā)體驗。
在.NET 8中Blazor進行了多項強化,微軟專注于優(yōu)化頁面加載時間、可擴展性,并進一步提升用戶體驗。開發(fā)者現(xiàn)在可于同一個應(yīng)用程序中,同時使用Blazor Server和Blazor WebAssembly,并且在應(yīng)用程序運行時,會自動切換用戶的處理,從服務(wù)器端轉(zhuǎn)移到客戶端,更靈活地分配工作負載和任務(wù)。
.NET 7已經(jīng)加入的Native AoT,可讓開發(fā)者將.NET應(yīng)用程序編譯為原生程序代碼,在.NET 8中,不只自包含應(yīng)用程序的文件大幅縮小,還可使用更少的內(nèi)存運行,啟動速度也更加快速。除此之外,Native AOT現(xiàn)在支持iOS類平臺,而新的VS Code擴展組件賦予.NET MAUI開發(fā)跨平臺.NET行動和桌面應(yīng)用所需要的工具,支持Xcode 15和Android API 34,這代表開發(fā)者可以針對最新版本的iOS和Android開發(fā)應(yīng)用程序。