微软如期在11月发布最新的.NET 8长期支持版本,这个版本一如既往,官方再次强调新版本的性能提升,并且提高云计算的支持度,加入了一个称为Aspire的云计算开发框架,助开发人员编写生产就绪的云计算原生应用程序。此外,在人工智能的支持上,.NET 8提供丰富组件供开发者在应用程序中融入人工智能。
微软再次称新的.NET为当前最快的版本,官方提到,他们对整个技术堆栈进行数千项的性能改进,包括默认激活名为动态配置文件导向优化(Dynamic Profile-Guided Optimization,PGO)的程序代码生成器,可以根据实际使用状况优化程序代码,提升应用程序性能可达20%。
另外,.NET 8还默认支持AVX-512指令集,允许对512位元的矢量数据进行平行操作,进而在更短的时间处理更多数据。微软在.NET 8的基本类别,实例了新的格式化和解析接口,可以直接以UTF-8格式进行格式化和解析,消除转码所要付出的额外成本开销。
微软指出,从最新的TechEmpower基准测试可以看出,.NET 8在JSON API的使用场景性能提升18%,在ASP.NET Core Minimal API可达到每秒接近100万次请求的处理能力。在接近实际网页工作负载的Fortunes场景中,包括数据库访问和服务器端HTML渲染,性能提升更为明显达到24%,每秒可超过30万次的请求。
.NET 8在云计算应用上也获得强化,微软提到,.NET 8让开发者更容易以容器打包应用程序。每个.NET镜像文件都会包含一个非根用户,开发者仅通过单行指令就可简单地配置安全容器。而.NET SDK工具可以在没有Dockerfile的情况下,发布默认为非根的容器镜像文件。官方表示,由于.NET基础镜像文件体积缩小,因此开发者可以更快地部署容器化应用程序。
.NET 8还加入一个称为.NET Aspire的技术框架,用于构建高韧性、可观测且可配置的云计算原生应用程序,其具有一系列云计算原生应用强化组件,包括遥测、韧性、配置和监控功能等,可使开发者更简单地开发用于生产环境的云计算应用程序。
针对当前热门的人工智能技术,.NET 8 SDK提供多项人工智能功能和工具,降低开发者在应用程序加入人工智能功能的复杂性。.NET 8强化System.Numerics函数库,提升和生成式人工智能工作负载的兼容性,另外,微软还提到,开源的Semantic Kernel SDK也能够简化人工智能组件与新旧应用程序的集成,提升创新应用开发体验。
在.NET 8中Blazor进行了多项强化,微软专注于优化页面加载时间、可扩展性,并进一步提升用户体验。开发者现在可于同一个应用程序中,同时使用Blazor Server和Blazor WebAssembly,并且在应用程序运行时,会自动切换用户的处理,从服务器端转移到客户端,更灵活地分配工作负载和任务。
.NET 7已经加入的Native AoT,可让开发者将.NET应用程序编译为原生程序代码,在.NET 8中,不只自包含应用程序的文件大幅缩小,还可使用更少的内存运行,启动速度也更加快速。除此之外,Native AOT现在支持iOS类平台,而新的VS Code扩展组件赋予.NET MAUI开发跨平台.NET行动和桌面应用所需要的工具,支持Xcode 15和Android API 34,这代表开发者可以针对最新版本的iOS和Android开发应用程序。