AI 日报

.NET8亮相!

  • By 51ITO
  • Dec 06, 2023 - 2 min read



作者 | Paul Krill

整理 | 小欧

出品 | 51CTO技术栈(微信号:blog51cto)

近日,微软推出新一代 .NET 8 开源开发平台,在性能、稳定性和安全性方面带来了很大提升。微软方面表示,.NET 8 和 .NET 7一样,更加注重云原生开发、生成式 AI和性能方面的优化。

最新的 .NET 8 提供三年支持,而且重塑了构建可按需扩展的智能云原生应用程序和高流量服务的方式。

此次更新还包括一个新的代码生成器,称为动态配置文件引导优化(PGO),它可以根据实际使用情况优化代码,并将应用程序的性能提升 20%。默认情况下,PGO 处于启用状态。

新增的 AVX-512 指令集支持也可以对 512 位数据向量进行并行运算,从而允许在更短的时间内处理更多的数据。微软表示,在 JSON API 场景中,.NET 8 的性能比 .NET 7 提升了 18%。

在云原生开发方面,.NET 8 以预览形式引入了 .NET Aspire。.NET Aspire 专门用于构建可配置的云原生应用程序,包括一组针对云原生开发增强的精选组件,默认情况下使用遥测、配置、复原和运行状况检查等,并支持发现云原生应用程序的基本依赖项。

微软表示,.NET 8 通过 .NET SDK 中的功能以及与多种工具集成简化了 AI 的使用。

System.Numericscode 库的增强功能提高了与生成式 AI 工作负载的兼容性,例如集成 Tensor 基元。微软表示,已与 Azure OpenAI 和 Qdrant 等合作,确保.NET开发人员可以通过SDK访问AI模型,服务和平台。

此外,开源语义内核 SDK 简化了将这些 AI 组件集成到新应用程序和现有应用程序的过程。

在云原生的容器方面,微软力求使打包应用程序更容易、更安全。每个 .NET 映像都包含一个非 root 用户,从而通过单行配置启用更安全的容器。.NET SDK 工具无需 Dockerfile 即可发布容器映像,并且默认情况下是非 root 的。

.NET 8 中的其他新功能:

  • C#12 是微软面向对象、类型安全语言的最新版本,支持使用“简单而优雅”的语法开发任何类和结构中的主要构造函数,开发人员无需编写样板代码来初始化字段和属性。

  • F# 8 语言包括全新的诊断、可用性改进以及项目编译中的性能增强。FSharp.Core 标准库也已升级。

  • 通过提前编译,.NET 应用程序可以使用更少的内存编译为本机代码并立即启动。此外,应用程序可以在不允许使用 JIT(实时)编译器的环境中运行。

  • ASP.NET Core 8 Web 框架简化了单页应用程序的标识,并通过表单绑定、防伪支持以及对OpenAPI 定义参数绑定的 asParameters 支持来增强最小 API。

  • 借助 Blazor Web 应用生成器,开发人员可以同时使用服务器和客户端来处理 Web UI 需求。增强功能侧重于页面加载时间、可扩展和用户体验。Blazor Server 和 Blazor WebAssembly 现在可以在同一应用中使用。微软方面表示,.NET 代码现在在WebAssembly 上运行速度明显加快。

  • .NET MAUI(多平台应用程序 UI)提供单个项目系统和代码库来生成 WinUI、Mac Catalyst、iOS 和 Android 应用程序。原生 AOT 编译(实验性)现在支持面向类似 iOS 的平台。

.NET 8 由 Visual Studio 系列工具支持,包括刚刚发布的 Visual Studio 2022 17.8。开发人员还可以使用 Visual Studio Code 和 C# 开发工具包或适用于 .NET 的 GitHub Codespaces 模板来创建 .NET 8 应用程序。

参考链接:https://www.infoworld.com/article/3710291/microsoft-net-8-arrives-with-cloud-native-stack-preview.html