了解 Angular 9 的全新特性
已发表: 2022-01-02在本文中,我们将了解 Angular 9 的新功能。新版本于 2020 年 2 月 7 日最近发布
尽管从 8 到 9 的嗡嗡声变化似乎是一个巨大的进步,但 v9 是一个非凡的版本,其中还包括修复了错误。
最重要的是,我们将在本文中讨论各种有趣的 Angular 9 特性。
- Angular 的成熟开发
- Angular 的内置功能
- 角移动和常春藤
- 角度诊断改进
- Angular 9 中的类型安全和 DI
- 角度基准
Angular 是目前用于开发移动和 Web 应用程序的最重要的开源框架。
它是由谷歌开发的。 Angular 在市场上已有多年,它提供了一个全面的开发框架,其中包括创建 Web 应用程序所需的组件和工具。
Angular 有一个清晰的路线图,每六个月就会推出一个新的主要版本。
此外,Angular 团队工作得非常好,因此 API 不会像从 Angular 1 到 2 那样经常更改或更改。
这是一件很棒的事情,因为它通过 JavaScript 和 TypeScript 支持的最新功能和最佳实践使所有内容保持最新。
在这里,在本文中,我们将重点讨论损坏先前版本 Angular 的问题之一,例如大文件对下载时间、应用程序性能和后果产生不利影响。
我们将关注的另一个基本特性是 Ivy 编译器。 您将全面了解 Ivy 及其在 Angular 未来的重要性。 最终结果:它解决了应用程序性能和大包的各种问题。
此外,还将讨论新功能,包括国际化支持和无选择器绑定。
了解 JavaScript 性能和包
过去 Angular 版本的主要问题之一是应用程序的大文件大小,相当于在 JavaScript 包中创建的文件大小。
如果将 Angular 与Vue 或 React等其他库进行比较,Angular 应用程序相对较好。
在运行期间,您不会感觉到差异。 虽然 Angular 的性能不错,但加载时间会比较长,因为简单的应用程序也很大。
JavaScript 包的大小也提供了其他问题的诀窍。 Angular 有很多东西需要学习,因为它是一个带有内置开发设备的完整框架,而其他的
JavaScript 库更侧重于组件。
Angular 团队可以做些什么来缓解过去版本中大量捆绑文件引起的问题?
Angular Ivy 解决了各种问题
Angular 8 中最重要的功能之一是选择加入 Ivy 的预览。
Ivy 目前是全新的渲染管线和新的内部构建。 渲染器通常是一个引擎,它接受您在带有模板的 Angular 组件中放置的指令。
它还执行将组件转换为更改 DOM(文档对象模型)的指令的功能。
Ivy 编译器被隐藏起来,它也用 Ivy 继承了 ViewEngine,但这并没有改变我们使用 Angular 的方式。 但这不会改变您使用 Angular 的方式。
该更改确实对正在生成的代码产生了显着影响。
Angular 8 预览版可帮助用户轻松使用 Ivy。 当与 Angular 9 教程一起使用时,Ivy 目前是标准渲染器之一。
如果渲染器易于实现且高效,则意味着您可以创建更少的代码,因为不需要更多指令。
Ivy 提供的 JavaScript 包非常少,因此它解决了与 Angular 包有关的所有弱点。

此外,Ivy 将改变整个游戏,因为它将在大小和性能方面将 Angular 应用程序带到一个全新的水平。
Ivy 从未改变 Angular 的使用方式,但它改变了应用程序生成的整个技术。
Angular 团队关注诸如现代 JavaScript 的差分加载程序之类的举措,这些举措是由 Angular 灌输的。
这意味着各种 polyfill 包是一起部署和开发的。
带有 Angular Ivy 的敏捷移动应用程序
智能手机和各种设备占全球流量的大部分。 此外,许多人从互联网连接速度较慢的地方访问网页。
大多数开发人员可以修复现有应用程序以减少可下载工具的大小并增加用户体验,但此类更改可能非常昂贵、困难且有风险。
通过减少 JavaScript 包的大小,对于想要加快开发过程的开发人员来说,Ivy 成为一个受欢迎的改进。
角度诊断增强功能
早些时候,Angular Compiler 生成了内部 API 诊断和 TypeScript 诊断。 但是,TypeScript 诊断受益于当前的增强功能,这些增强功能并未在 API 诊断中实现。
与使用多种格式不同,Angular 7 将通过将所有 Angular TypeScript 编译器诊断转换为类似类型的 TypeScript 诊断格式,从而完全使过程无缝。
最新版本 9 还将通过使用架构注册表来验证 DOM 绑定,从而防止应用程序避免潜在问题。
最重要的是,一致的模板诊断将有利于支持描述性错误消息的生成。
API Extractor 中的升级
Angular 依赖于单独开发的各种软件库。
Angular 用户不能错过潜在的错误,并且最新的功能已合并到他们的库中。
作为回应,Angular 9 将 API Extractor 更新为全新版本。
Angular 使用 Bazel 作为开源设备,支持软件测试和楼宇自动化。
Bazel 是 Angular 工具链参与构建时的工具。
它还提供了 TypeScript 编译器引擎的优势,可以生成合同报告、检测项目导出的 API 表面以及缺失的可见性和不一致。 它生成 API 文档。
由于 API 提取器等功能和语言服务的定期改进使框架变得高效和高效,这根本不是令人兴奋的更新。
Angular 的未来是什么?
随着 Angular 9 的推出,社区可以从小型应用程序到高性能应用程序和可观的开发人员经验中获得优势。
开发人员还拥有更精确的项目结构以及更清晰的语法。
Angular 团队还预计 APU 不需要进行重大更改。
是否有更多的弃用和创建组件的任何替代方法?
将来,将更多地关注使用更多时间开发指令和组件,而将更少的时间用于将它们放在一起。
Angular 团队还在一些修复的编译器问题和模块打包方面提供了一些建议。
在这个过程中,团队还根据 Angular 团队的建议迁移了 Terser minified,以便更好地解析 Ivy 编译器。
如果您还希望使用 AngularJS移动应用开发来构建移动应用,那么现在是联系 Elsner 的好时机。
