谷歌工程师概述了 Angular 的下一步计划

开发 新闻
谷歌正在快速迭代 Angular,其 12 和 13 版于去年发布,14 版则于今年 6 月发布。

在近期举行的 Progress 360 会议上,谷歌的开发者关系工程师 Emma Twersky 发表了一个主题为"What’s New with Angular"的讲话。演讲的很大一部分内容集中在 Angular 的过去迭代以及这些变化如何为谷歌下一步的工作奠基。

Twersky透露,Angular 第 15 版计划在 11 月发布。届时谷歌将引入友好的堆栈跟踪以帮助精确识别代码错误的位置,以及 一种 优化图像组件的方法,此举将使得网站的 First Contentful Paint 得到显著改善。

谷歌正在快速迭代 Angular,其 12 和 13 版于去年发布,14 版则于今年 6 月发布。Twersky 称,所有这些工作(包括 Ivy)实际上都是在“幕后”为未来的框架改进奠定基础。Ivy 是 Angular 的下一代编译和渲染管道,在 Angular 第 9 版中取代了 View Engine 成为了默认设置。“这是一次全面的重写,我可以给出的最好的比喻是,这就像在汽车还在行驶时更换了汽车的引擎。”

她指出,这个新引擎为 Angular 提供了更好的类型检查、错误报告、调试和更小的 bundle sizes;但它真正做的是实现谷歌计划的未来改进。随着 Ivy 的完成,谷歌的计算资源减少了 90%,这反过来又导致谷歌最大的 Angular 应用程序的构建时间减少了大约 50 分钟。

同时,Angular 团队还推出了征求意见稿 (RFC),一个获得反馈的机会,也是一个引入实验性变化的机会。在版本 13 和 14 中,谷歌还开始发布开发者预览版,旨在帮助更快地发展框架。

“如果我们有一份设计文档,为什么不分享它,为什么不与数百万使用 Angular 的开发人员进行 battle test 呢?为什么不提前考虑一些有趣的案例呢?我们真的在召集 Angular 大军,一起解决问题。”

目前,谷歌已经发布了超过 15 个 RFC。其中两个最大的 RFC 提到了独立组件,NgModules 的删除;这是配置 injector 和 compiler 的 Angular 特定模块,以帮助将相关事物组织在一起。还进行了一些修复工作:更好地支持调试和诊断、错误消息的具体细节和指导,以及通过与 Chrome 团队和第三方资源合作支持的 Angular 开发工具。

Twersky 指出,NG Modules 是新开发人员必须了解的 Angular 相关的另一个重点。根据社区的反馈,经常被人诟病的 NgModule 即将被淘汰(部分);Angular 14 引入了另一种编写应用程序的方式 —— Standalone 组件、指令和管道。术语"standalone"指的是可以独立于 NgModule 使用的组件、指令或管道。“尽管你仍然需要使用核心和外部 NgModule,但你可能不需要创建新的 NgModule”。

“Standalone 旨在简化所有这些并简化入门步骤。通过引入 standalone true flag,你可以直接 bootstrap 你的组件,并且不需要 module。”

她解释道,这个想法是,整个应用程序现在可以是 standalone。这是一个重大变化,由谷歌创建的新 API 提供支持;它还承诺对 API 的任何更改都将向后兼容。 Angular 15 也将提供完整的 standalones 和支持。

“我们有一些东西可以使每个人受益,即默认情况下 zone JS-enabled 的异步堆栈获取,但我们只是将其称为更好的堆栈跟踪。这是通过与 Chrome 的另一次合作,即使使用不是开发人员编写的开源代码以及发生错误的地方,也可以更轻松地减少相关内容。”

此外,v15 还承诺从代码库中删除一些未使用的代码。“我们想要做的和 Northstar 提供的只是你需要的......所以如果你不使用它,我们会不再需要为你提供它。在 Angular 中,我们有很多代码,但你的应用程序不会使用所有这些代码。所以在编译的某个时刻,我们可以去掉很多你不使用的代码。”

谷歌正在考虑的一些其他变化包括:

默认隐藏 CLI 配置。

数据中心。MDC Web  是由 Google Material Design 团队创建的一个库,它为构建 Material Design 组件提供可重用的 primitives。根据 Angular 团队的路线图,他们正在将这些 primitives 整合到 Angular Material 中。

就hydration和其他发展趋势征求意见。

责任编辑:张燕妮 来源: 开源中国
相关推荐

2013-05-07 09:45:53

微软Bing

2021-01-15 14:25:12

谷歌Timnit Gebr

2018-05-18 10:18:20

云计算云厂商物联网

2017-01-17 15:57:47

大数据特朗普数据湖泊

2011-06-15 09:42:50

FoursquareLBS

2023-11-13 11:10:16

2024-10-15 15:42:50

2019-05-21 05:09:23

物联网数据IOT

2013-11-25 13:30:47

微信开发

2018-09-13 12:51:52

云计算私有云公共云

2013-08-12 14:42:20

UI设计UX设计设计

2011-05-05 10:25:35

Windows Ser

2017-01-03 08:26:11

大数据AIML

2017-01-18 12:16:37

OpenFlowSDNONF

2022-03-07 10:40:09

智能家居物联网人工智能

2021-09-27 14:46:36

区块链加密货币比特币

2011-10-12 09:49:51

Kikin移动应用触屏

2017-10-12 11:39:51

多云云计算混合云

2015-05-19 11:31:11

LTELTE网络

2021-09-15 16:13:13

人工智能AI深度学习
点赞
收藏

51CTO技术栈公众号