首页 > 其他分享 >.NET 8 预览版 1:NativeAOT 升级和新的Blazor United

.NET 8 预览版 1:NativeAOT 升级和新的Blazor United

时间:2023-02-22 08:11:15浏览次数:55  
标签:United 预览版 NativeAOT AOT dotnet NET Blazor

.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%。

image

在知乎上有大量的讨论 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 为首,如下图所示:

image

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

相关链接:

标签:United,预览版,NativeAOT,AOT,dotnet,NET,Blazor
From: https://www.cnblogs.com/shanyou/p/17143105.html

相关文章

  • windows11预览版装WSA心得
    windows11预览版装WSA心得这两天心血来潮想要装个WSA(安卓windows子系统),原来一直用的安卓模拟器(mumu啊蓝叠啊逍遥啊),但感觉像wsa这种安卓系统与主系统融合的模式更带感,于......
  • windows11预览版装WSA心得
    这两天心血来潮想要装个WSA(安卓windows子系统),原来一直用的安卓模拟器(mumu啊蓝叠啊逍遥啊),但感觉像wsa这种安卓系统与主系统融合的模式更带感,于是开始了我艰苦的安装(瞎捯饬)之......
  • 【天纪排盘App】预览版发布
    经过2个多月的忙乎,全新版本的天纪App终于跟大家见面了。由于这两天状态不太好,所以直接上App下载地址吧,等这两天忙完,再跟大家录个视频说明下软件的基本功能。软件分为四大......
  • .NET机器学习 ML.NET 1.4预览版和模型生成器更新
    ​​ML.NET​​​是面向.NET开发人员的开源和跨平台机器学习框架。​​ML.NET​​​ 还包括​​ModelBuilder​​​ (一个简单的UI工具)和 ​​CLI​​ ,使用自动机......
  • 更强大的远程开发,Remote Tunnels 正式发布预览版!
    VisualStudioCode的核心是一个代码编辑器,它通过我们的远程开发经验与其他环境集成,变得更加强大和灵活: 你可能没有想到,但VSCode有一个内置的命令行界面(CLI),可以......
  • 测试篇 c#net7nativeAOT桌面图标位置备份器
    项目备份windows桌面的图标位置为jsonc#项目是net7nativeAOT的框架,内有json生成器的处理.编译方式在.csproj文件的路径上面(删除路径)输入cmd,回车:dotnetpub......
  • Windows 预览版本 无需重装 Dev 转换 Beta
    1.打开注册表编辑器2.打开以下路径注册表路径:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\UI\Selection3.找到UIBranch  并将其数据改为Beta......
  • 2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017)
    AAlienSunset模拟#include<bits/stdc++.h>usingnamespacestd;#define#define#define#define#define#define#define#define#define#define#define#define#define#define......
  • 缺少 TPM 2.0 导致无法升级 Win11 最新 Dev 预览版的解决方案
    微软在本周四向Windows预览计划的Dev频道推送了Win11最新预览版的更新,版本号为22458.1000,但是有很多朋友在更新系统时都遇到了因缺少TPM2.0支持导致无法正常升级......
  • 不安装运行时运行 .NET 程序 - NativeAOT
    大家好,先祝大家国庆快乐。不过大家看到这篇文章的时候估计已经过完国庆了......