绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
.NET 8 预览版 1:NativeAOT 升级和新的Blazor United
2023-02-22 16:55:56

.NET团队 今天在官方博客上 发布了.NET 8的个预览版,.NET 8 是一个长期支持 (LTS) 版本[1],.NET 的版本包括产品、库、运行时和工具,是 Microsoft 内部和外部多个团队之间的协作。.NET 8 预览版和候选发布版本将每月交付一次,终交付时间是今年的.NET 大会 。

.NET 8 预览版 1 中的新增功能方面主要有两个:NativeAOT编译的完善,在Web开发方面,新的Blazor United项目融合了混合匹配服务器端和客户端渲染功能。

.NET团队首席项目经理的Jeremy Likness在 “宣布.NET 8 Preview 1 [2] 帖子中说 ,NativeAOT是在.NET 7中引入的,但开发团队将在11月发布的.NET 8 中投入更多工作,例如减小应用大小,Linux 版本现在缩小了 50%,使用Native AOT发布应用程序会创建一个完全独立的应用程序版本,不需要单独的运行时,因为所有内容都包含在单个文件中,从预览版1开始,这个文件更小。事实上,Linux 版本现在缩小了 50%。

在知乎上有大量的讨论 NativeAOT的缺席阻碍了.NET的采用,微软将NativeAOT的优势列为:

  • 减少内存占用:与 JIT 编译的代码相比,AOT 编译的代码需要更少的内存,因为 JIT 编译器生成 AOT 编译应用程序中不需要的中间代码。这对于内存有限的设备(如嵌入式系统和移动设备)尤其有益。
  • 缩短了启动时间:与 JIT 编译代码相比,AOT 编译的代码启动速度更快,因为它消除了 JIT 编译器生成中间代码并针对特定硬件和软件环境优化代码的需要。这对于必须快速启动的应用程序特别有用,例如系统服务、无服务器“函数”和后台任务。
  • 延长电池寿命:与 JIT 编译代码相比,AOT 编译代码消耗的功率更少,因为它消除了 JIT 编译器生成中间代码并针对特定硬件和软件环境优化代码的需要。这对于依赖电池的设备(如移动设备)尤其有益。

与此同时,ASP.NET Core首席项目经理 Daniel Roth 写了文章ASP.NET .NET 8 预览版 1 中的核心更新[3],介绍了他的团队正在做什么,从史蒂夫·桑德森(Steve Sanderson)的原型项目开始,他称之为“Blazor United”:

Daniel Roth说到  “在.NET 8中,我们正在努力将服务器端和客户端渲染的优势结合到基于Blazor的单个全栈编程模型中,我们目前称这种努力为'开拓者联队'。Blazor United 将允许你使用单个基于 Blazor 的体系结构进行服务器端呈现,并与 Blazor Server 或 WebAssembly 进行完整的客户端交互。这一切都在一个项目中,能够在不同的渲染模式之间轻松切换,甚至在同一页面中混合它们。Blazor United还将启用新的渲染功能,例如流式渲染以及导航和表单帖子的逐步增强。

他还介绍了面向 Web 开发人员的本机 AOT:“.NET 7 引入了对将 .NET 控制台项目发布为NativeAOT[4] 的支持,生成一个独立的、特定于平台的可执行文件,没有任何运行时 JIT。本机 AOT 应用的启动速度非常快,并且使用更少的内存。可以将应用程序部署到未安装任何 .NET 运行时的计算机或容器。在 .NET 8 中,我们将把对NativeAOT的支持扩展到 ASP.NET Core,从使用小 API 构建的以云为中心的 API 应用开始,这些应用可以满足有关已发布文件大小、启动时间、工作集和吞吐量性能的预期。

除了对本机AOT的讨论外,Likness还强调了其他关于容器映像,JSON改进,Linux支持等常规.NET 8工作。新的“.NET 8 中的新增功能”[5]文档中详细介绍了所有内容。 至于 ASP.NET Core改进的细节,有兴趣的读者可以查阅 .NET 8 的 ASP.NET Core路线图[6],其中以 Blazor 的 24 项为主,以 Blazor United 为首,如下图所示:

微软同时还发布了配套的开发工具支持:包括Visual Studio 2022 v17.5,Visual Studio for Mac 17.5和EFCore 8 Preview 1

分享好友

分享这个小栈给你的朋友们,一起进步吧。

.NET中大型研发必备
创建时间:2022-04-09 00:21:16
本系列文章适合有初/.NET知识的同学阅读(请在电脑上打开页面,获取更好的阅读效果)。 (1)本系列文章,旨在讲述研发一个中大型项目所需要了解的一系列“基本构件”,并提供这些“基本构件”在全网的【简单】、【快速】使用方法!!(并不深究技术原理) (2)通过阅读本系列文章,能让你在“正规”项目研发方面快速入门+进阶,并能达成“小团队构建大网站”的目的。 (3)本系列文章采用的技术,已成功应用到人工智能、产业互联网、社区电商、游戏、金融风控、智慧医疗、等项目上。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 红色侦察兵
    栈主

小栈成员

查看更多
  • miemieMIA
  • LCR_
  • xsy028
  • ?时光与海?
戳我,来吐槽~