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


在近期举行的 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 和其他发展趋势征求意见。

相關推薦

2023-06-28

d 的首席执行官 Demis Hassabis 向《连线》杂志表示,他们的工程师正在使用 AlphaGo 技术来开发一个名为 Gemini 的人工智能系统,比 OpenAI ChatGPT 背后的系统更为强大。 Gemini 本质上与 GPT-4 类似,是一个可以处理文本的大语言模型;

2022-08-28

,以及解决 Redux 存储中带有 useSelector 字段的问题。 Angular 模板中的类型收窄(Type Narrowing): 作为解决 Angular 用户最大问题之一 —— 缺乏严格模式的支持,JetBrains 将在 Angular 模板中实现类型收窄。这将有助于误报检查

2022-10-26

大门已经打开,比如 Zig 的官方包管理器。” Zig 项目的下一步计划包括: 性能改进 与旧的 C++ implementation(也称为 bootstrap compiler)相比,新的自托管编译器将内存使用量减少了 3 倍。 例如,构建编译器本身过去需要 9.6

2023-01-18

本月初还将 ChatGPT 技术整合到其 Bing 搜索引擎中,以挑战谷歌搜索引擎。

2022-11-01

谷歌工程师近日向 Chromium 提交补丁,表示准备在 Chrome 110 中移除对 JPEG-XL 图像格式的实验性支持。 许多人对 Chrome 的这个决定感到不解,因为 JPEG-XL 在其生命周期中还非常年轻,正处于成长阶段,并且越来越多行业已经开始

2023-10-27

发的Orange Pi OS(OH)即将发布! 日前,迅龙开源鸿蒙的工程师团队已经在搭载RK3566的开发板Orange Pi 3B上完成了Orange Pi OS(OH)对PC的初步适配,这是国内首次将开源鸿蒙操作系统运行在PC设备上,意味着迅龙软件将领先于华为、深开

2022-12-19

rome 和 Firefox 开发团队也加入进来,将合作开发 Speedometer 的下一个大版本,即 Speedometer 3。 Speedometer 1.0 于 2014 年发布,随后于 2018 年带来了 2.0 版本的重大更新,目前最新的稳定版本为 2.1。 常看我们文章的用户对 Speedometer 应

2023-11-11

百人"在致力于新操作系统的开发,其中就包括前 Mozilla 工程师和 Javascript 专家 Zibi Braniecki。Branieck 于 2022 年初加入亚马逊从事 Alexa 工作,然后在 2023 年初过渡到设备操作系统团队。他当时曾在 LinkedIn 上透露,自己正在“为智能

2023-10-27

谷歌、微软、OpenAI 和 Anthropic 发布联合声明,任命美国智库学会高管 Chris Meserole 为前沿模型论坛 (Frontier Model Forum) 首任执行董事。并宣布设立 1000 万美元的 AI 安全基金,“以推动正在进行的工具开发研究,帮助社会能够有效地

2023-10-24

同时,Craig Federighi 的软件工程团队正在将 AI 添加到 iOS 的下一个版本,以及将生成式 AI 技术整合到 Xcode 等开发工具中——与微软的 GitHub Copilot 等服务类似。此举可以帮助应用程序开发者更快地编写应用程序,帮助他们在编写

2023-11-14

编辑器,她基于 Web Component,因此支持 Layui、Vue、React、Angular 等几乎任何前端框架。她适配了 PC Web 端和手机端,并提供了 亮色 和 暗色 两个主题。除此之外,她还提供了灵活的配置,开发者可以方便的使用其开发任何文字编辑

2023-08-25

有些许负面评论。截至 2023 年 08 月 22 日,它在 NuGet 平台的下载量已经达到了 1000 万次,这确实值得记录。 对于作者来说,能够有如此多的人喜欢并使用 Furion,既感到幸福又充满了责任感。幸福的原因在于自己所创造的东西能

2022-10-21

仍遥遥而无期,甚至“并不比 2018 年时更接近”。Go 高级工程师 Ian Lance Taylor 曾分享了一些关于 Go 2 的想法。 此外,谷歌新一代开源操作系统 Fuchsia 的开发者网站在 2020 年公布了一份 Fuchsia 编辑语言策略,详细描述了 C

2023-07-02

解决方案,适配 PC 端 / 移动端等多端,涵盖 Vue2 / Vue3 / Angular 多技术栈,拥有主题配置系统 / 中后台模板 / CLI 命令行等效率提升工具,可帮助开发者高效开发 Web 应用。</p> </tiny-dialog-box> 效果如下: 由于抽屉组件没