Angular 8确定包含Ivy,预计今年第二季度发布

每周都会有人问我:“Ivy什么时候可以发布”?这篇文章将解答有关Angular 8.0版本的最新进展以及Ivy的定版和发布计划。

我们计划将Ivy作为即将在今年第二季度发布的Angular 8.0的一部分,并且是可选预览。

Angular 8.0为我们带来了哪些东西?

虽然团队的大部分人在忙于开发Ivy,但也在努力为Angular 8.0版推出一些更新。需要注意的是,这些计划可能会在最终版本发布之前发生变化。

JavaScript差异化加载

作为构建过程的一部分,CLI将会生成遗留(ES5)和现代(ES2015+)JavaScript捆绑包,并在客户端进行差异化加载,以提高现代浏览器的加载速度和TTI。这项工作主要是基于Manfred Steyer的ngx-build-modern项目,并且与Manfred合作开发。

可选的预览版Ivy

预览如何在应用程序中使用Ivy,并向我们提供反馈,这样我们才能更好地将必要的变更和改进纳入到最终版中。

Angular Router向后兼容性

我们正在添加向后兼容模式,以简化大型项目的升级路径。用户可以使用$route API延迟加载AngularJS应用程序的部分内容,从而可以更容易地迁移到Angular。

改进的Web Worker捆绑

Web Worker可用来编写运行在主线程之外的代码,以此来提高应用程序的运行速度和并行性。我们正在为CLI添加对Web Worker的捆绑支持,解决开发人员在这方面的需求。

可选的使用信息分享

为了更好地满足社区的需求,我们在CLI中添加了可选的遥测功能。在获得用户同意的情况下,我们将收集有关命令和构建速度等方面的信息。这方面的信息知道得越多,我们就能做得越好。

依赖更新

与往常一样,我们也在更新对TypeScript、RxJS和Node等工具的依赖,以便与生态系统的其他部分保持同步。

Ivy会是什么样子?

我们的目标是在Angular 8.0中包含可选的预览版Ivy。如果你对Ivy还不熟悉,可以看一下Kara在谷歌I/O 2018大会上如何谈论Ivy:

https://youtu.be/jnp_ny4SOQE?t=1320

可选的预览版Ivy可以让你在项目中切换Ivy和View Engine,具体的操作细节将在即将推出的beta版本中提供。如果启用了这个选项,将会使用Ivy运行时指令而不是ViewEngine运行时来构建应用程序。应用程序将使用Ivy编译器构建,而且通过使用我们的兼容性编译器,来自Angular或其他第三方的依赖项仍然可以继续使用。预览版可以识别出与依赖项相关的问题,并帮助我们改进兼容性。

可选的预览版将带来如下内容:

  1. 生成更易于阅读和调试的代码;

  2. 更快的重建速度;

  3. 改进的有效载荷大小;

  4. 改进的模板类型检查;

  5. 非常棒的向后兼容性。

Ivy并不一定可以用于所有的场景。某些功能(如国际化或Angular Universal)在预览版中可能还不具备完全的兼容性。在预览版中,语言服务将无法正常运行。

这个预览版专注于在不重写应用程序的情况下让开发人员可以将应用程序切换到使用Ivy编译器和运行时指令。有很多特定于Ivy的API将被添加到我们的公共API中,作为Angular Labs和未来稳定版本的一部分。

什么时候可以准备好?

我们现在无法承诺一个固定的时间表,这个计划还有可能会发生变化。现在的计划是在2019年4月进入RC,并在一个月后发布Angular 8.0。我们将在Angular 8.0中使用Ivy可选预览来验证我们对向后兼容性的承诺,可能还需要推出任何必要的自动迁移工具。

我们希望将Ivy作为今年秋季下一个主要版本的一部分。由于我们专注于向后兼容性和支持现有应用程序,因此还不打算在Angular 9中默认启用Ivy。

我们真的很希望看到那个在Angular 9中推出完整版的Ivy,为开发人员带来更多的可能性。如果有任何新的进展,我们会继续与大家分享我们的计划。

英文原文:

https://blog.angular.io/a-plan-for-version-8-0-and-ivy-b3318dfc19f7

更多内容,请关注前端之巅。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章