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