作者 | Paul Krill
整理 | 小歐
出品 | 51CTO技術(shù)棧(微信號:blog51cto)
近日,微軟推出新一代 .NET 8 開源開發(fā)平臺,在性能、穩(wěn)定性和安全性方面帶來了很大提升。微軟方面表示,.NET 8 和 .NET 7一樣,更加注重云原生開發(fā)、生成式 AI和性能方面的優(yōu)化。
最新的 .NET 8 提供三年支持,而且重塑了構(gòu)建可按需擴(kuò)展的智能云原生應(yīng)用程序和高流量服務(wù)的方式。
此次更新還包括一個新的代碼生成器,稱為動態(tài)配置文件引導(dǎo)優(yōu)化(PGO),它可以根據(jù)實際使用情況優(yōu)化代碼,并將應(yīng)用程序的性能提升 20%。默認(rèn)情況下,PGO 處于啟用狀態(tài)。
新增的 AVX-512 指令集支持也可以對 512 位數(shù)據(jù)向量進(jìn)行并行運算,從而允許在更短的時間內(nèi)處理更多的數(shù)據(jù)。微軟表示,在 JSON API 場景中,.NET 8 的性能比 .NET 7 提升了 18%。
在云原生開發(fā)方面,.NET 8 以預(yù)覽形式引入了 .NET Aspire。.NET Aspire 專門用于構(gòu)建可配置的云原生應(yīng)用程序,包括一組針對云原生開發(fā)增強的精選組件,默認(rèn)情況下使用遙測、配置、復(fù)原和運行狀況檢查等,并支持發(fā)現(xiàn)云原生應(yīng)用程序的基本依賴項。
微軟表示,.NET 8 通過 .NET SDK 中的功能以及與多種工具集成簡化了 AI 的使用。
System.Numericscode 庫的增強功能提高了與生成式 AI 工作負(fù)載的兼容性,例如集成 Tensor 基元。微軟表示,已與 Azure OpenAI 和 Qdrant 等合作,確保.NET開發(fā)人員可以通過SDK訪問AI模型,服務(wù)和平臺。
此外,開源語義內(nèi)核 SDK 簡化了將這些 AI 組件集成到新應(yīng)用程序和現(xiàn)有應(yīng)用程序的過程。
在云原生的容器方面,微軟力求使打包應(yīng)用程序更容易、更安全。每個 .NET 映像都包含一個非 root 用戶,從而通過單行配置啟用更安全的容器。.NET SDK 工具無需 Dockerfile 即可發(fā)布容器映像,并且默認(rèn)情況下是非 root 的。
.NET 8 中的其他新功能:
- C#12 是微軟面向?qū)ο?、類型安全語言的最新版本,支持使用“簡單而優(yōu)雅”的語法開發(fā)任何類和結(jié)構(gòu)中的主要構(gòu)造函數(shù),開發(fā)人員無需編寫樣板代碼來初始化字段和屬性。
- F# 8 語言包括全新的診斷、可用性改進(jìn)以及項目編譯中的性能增強。FSharp.Core 標(biāo)準(zhǔn)庫也已升級。
- 通過提前編譯,.NET 應(yīng)用程序可以使用更少的內(nèi)存編譯為本機代碼并立即啟動。此外,應(yīng)用程序可以在不允許使用 JIT(實時)編譯器的環(huán)境中運行。
- ASP.NET Core 8 Web 框架簡化了單頁應(yīng)用程序的標(biāo)識,并通過表單綁定、防偽支持以及對OpenAPI 定義參數(shù)綁定的 asParameters 支持來增強最小 API。
- 借助 Blazor Web 應(yīng)用生成器,開發(fā)人員可以同時使用服務(wù)器和客戶端來處理 Web UI 需求。增強功能側(cè)重于頁面加載時間、可擴(kuò)展和用戶體驗。Blazor Server 和 Blazor WebAssembly 現(xiàn)在可以在同一應(yīng)用中使用。微軟方面表示,.NET 代碼現(xiàn)在在WebAssembly 上運行速度明顯加快。
- .NET MAUI(多平臺應(yīng)用程序 UI)提供單個項目系統(tǒng)和代碼庫來生成 WinUI、Mac Catalyst、iOS 和 Android 應(yīng)用程序。原生 AOT 編譯(實驗性)現(xiàn)在支持面向類似 iOS 的平臺。
.NET 8 由 Visual Studio 系列工具支持,包括剛剛發(fā)布的 Visual Studio 2022 17.8。開發(fā)人員還可以使用 Visual Studio Code 和 C# 開發(fā)工具包或適用于 .NET 的 GitHub Codespaces 模板來創(chuàng)建 .NET 8 應(yīng)用程序。
參考鏈接:https://www.infoworld.com/article/3710291/microsoft-net-8-arrives-with-cloud-native-stack-preview.html