Angular v16 正式发布


在之前的 Angular v15 中,Angular 团队通过将独立 API 从开发者预览版升级至稳定版,在 Angular 的简易性和开发者体验方面达到了一个重要的里程碑。如今,Angular 将继续这一改进的势头,发布了自 Angular 最初推出以来最大的一次版本更新;在 Reactivity、服务器端渲染和工具方面取得了巨大的飞跃。

重新思考 Reactivity

作为 v16 版本的一部分,Angular 带来了全新的 Reactivity 模型的开发者预览,它为性能和开发者体验带来了显著的改进。

完全向后兼容并可与当前系统互操作的,并且能够

  • 通过减少变化检测过程中的计算次数,提高运行时的性能。
  • 为 Reactivity 带来了更简单的 mental 模型,使其清楚地了解视图的依赖性和通过应用程序的数据流。
  • 启用细粒度的 Reactivity,在未来的版本中,它将允许我们只检查受影响组件的变化。
  • 在未来的版本中,通过使用 Signals 在模型发生变化时通知框架,使 Zone.js 成为可选的。
  • 提供计算属性,而不会在每个变化检测周期中重新计算
  • 实现了更好的与 RxJS 的互操作性

服务器端渲染和 hydration 增强

根据 Angular 的年度开发者调查,服务器端渲染是 Angular 的第一大改进方向。在过去的几个月里,Angular 与 Chrome Aurora 团队合作,改善了 hydration 和服务器端渲染的性能和 DX。今天,Angular 带来了完整应用非破坏性 hydration 的开发者预览。

在新的完整应用非破坏性 hydration 中,Angular 不再从头开始重新渲染应用。相反,该框架在构建内部数据结构时查找现有的 DOM 节点,并将事件监听器附加到这些节点上。

这样做的好处是:

  • 对终端用户来说,页面上没有内容的闪烁
  • 在某些情况下有更好的 Web Core Vitals
  • 面向未来的架构,可以用我们今年晚些时候推出的基元实现细粒度的代码加载。
  • 只需几行代码就能与现有的应用程序轻松集成
  • 对于执行手动 DOM 操作的组件,在模板中使用 ngSkipHydration 属性逐步采用 hydration

新的服务器端渲染功能

作为 v16 版本的一部分,Angular 还更新了 Angular Universal 的 ng add schematics,它使你能够使用独立的 API 向项目添加服务器端渲染。还为内联样式引入了对更严格的内容安全策略的支持。

改进了独立组件、指令和管道的工具

Angular 是一个被数以百万计的开发者用于很多关键任务的应用程序的框架,我们认真对待重大变化。Angular 在几年前开始探索独立的 API,现在经过一年多的收集反馈和对 API 的迭代,Angular 想鼓励开发者更广泛地采用这些 API。

为了支持开发者将他们的应用程序过渡到独立的 API,Angular 开发了迁移示意图和独立迁移指南。一旦你在你的项目目录中运行:

ng generate @angular/core:standalone

该计划将转换你的代码,删除不必要的 NgModules 类,并最终改变项目的引导结构以使用独立的 API。

独立的 ng new

作为 Angular v16 的一部分,你可以从一开始就以独立的方式创建新的项目。要尝试独立模式的开发者预览,请确保你在 Angular CLI v16 上并运行:

ng new --standalone

你会得到一个更简单的项目输出,没有任何NgModules。此外,项目中的所有生成器都会产生独立的指令、组件和管道。

更多详情可查看:https://github.com/angular/angular/releases/tag/16.0.0


相關推薦

2023-01-19

即可打开全新设计的应用程序抽屉;系统级的暗色模式正式启用,你可以在更换壁纸的界面选择浅色、暗色或是根据当下的时间自动调整;系统通知的样式也经过调整和重新设计,提供更统一的视觉感受。 虚拟桌面管理

2022-11-19

在过去的一年里,Angular 团队删除了 Angular 的传统编译器和渲染管道,因此在过去几个月里 Angular 改进了一系列与开发者体验相关的内容。Angular v15 则是进一步推动了这项工作,它有几十项改进,使开发者有更好的体验和性能。

2023-04-29

即可打开全新设计的应用程序抽屉;系统级的暗色模式正式启用,你可以在更换壁纸的界面选择浅色、暗色或是根据当下的时间自动调整;系统通知的样式也经过调整和重新设计,提供更统一的视觉感受。   虚拟桌面管

2022-08-28

ng-zorro-antd 是 Ant Design 的 Angular 实现,主要用于研发企业级中后台产品。全部代码开源并遵循 MIT 协议,任何企业、组织及个人均可免费使用。 ng-zorro-antd 14.0.0 正式发布,更新内容如下: 安装 ng-zorro-antd $ cd PROJECT-NAME $ ng add ng

2023-03-02

有云或公有云;部署和管理大量的 MySQL 实例。 Vitess 16 正式发布,更新内容如下: 文档改进 在这个版本中,Vitess 维护团队决定把重点放在审查、编辑和重写网站文档上,以便与代码保持一致。在 CNCF 的帮助下,Vitess 还改善

2022-09-28

者关系工程师 Emma Twersky 发表了一个主题为"What’s New with Angular"的讲话。演讲的很大一部分内容集中在 Angular 的过去迭代以及这些变化如何为谷歌下一步的工作奠基。 Twersky 透露,Angular 第 15 版计划在 11 月发布。届时谷歌将引

2022-11-28

最受欢迎的开源前端框架 Angular 终于推出了另一个版本更新——Angular 15。之前,Angular 14引入了许多新的令人兴奋的实验性功能和排列的代码最佳实践,但看起来这个新版本——在 Angular 版本 15 中,一切都是为了获得稳定性。

2023-02-24

Angular 是一个基于 TypeScript 的开源前端框架,由 Google 的 Angular 团队以及社区共同领导,从 AngularJS 完全重写而成。 目前 Angular v15.2.0 已发布,带来如下变更: 弃用类、InjectionToken 和冲突解决程序( #47924 ) 将加载程序参数

2023-06-15

Angular 是一个基于 TypeScript 的开源前端框架,由 Google 的 Angular 团队以及社区共同领导,从 AngularJS 完全重写而成。 目前 Angular v16.1.0 已发布,带来如下变更: compiler fix:在 JIT 模式下读取编译输入转换元数据时出错 (#50600)

2023-01-12

Angular 是一个基于 TypeScript 的开源前端框架,由 Google 的 Angular 团队以及社区共同领导,从 AngularJS 完全重写而成。 目前 Angular v15.1.0 已发布,带来如下变更: 弃用:路由器 路由器中的 CanLoad 已弃用,请改用 CanMatch 。 普通变

2023-02-16

了,ng-zorro-antd-mobile 是 Ant Design 移动规范的 Angular 实现,服务于阿里巴巴集团数据无线业务。 该版本更新内容如下: Features all: 修改站点版本 (9f6b8cc) all: 支持 Angular 15 (fd4adba) all: 支持import-by-mod

2023-07-15

序不符。 因此,作者提出了一个问题:这种变化是否像 Angular.js 转向 Angular 2 一样大?React 是否正在经历类似于 Angular.js 的阶段? 文章指出,React 的核心仍然是一个视图库,这一点没有改变:使用 React 服务器组件,您仍然

2022-01-10

AngularJS 是一个基于 JavaScript 的开源前端框架,它主要由 Google 以及个人和公司所组成的社区进行维护。日前 AngularJS 已经达到了生命周期终止的状态(EOL),未来将不再获得任何支持与维护,Angular 团队希望现有用户能够迁

2022-01-19

AngularJS 是一个基于 JavaScript 的开源前端框架,它主要由 Google 以及个人和公司所组成的社区进行维护。日前 AngularJS 已经达到了生命周期终止的状态(EOL),未来将不再获得任何支持与维护,Angular 团队希望现有用户能够迁移到