每周我们都会收到一个问题:“常春藤什么时候准备好?” 现在该告诉您8.0版的情况如何,以及与您分享想起并发布Ivy引擎的计划。
在今年第二季度发布的第八个版本中,我们想介绍一下是否可以可选地包含Ivy的初始版本(Ivy Preview)。

8.0版的新增功能
尽管我们的大多数团队都全力以赴地进行开发,但我们准备提出8.0版的多个更新,而我们正在如此努力地工作。 值得注意的是,最终版本中的某些功能可能与下文所述的功能有所不同。
- 现代JavaScript的差异化加载。
作为构建过程的一部分,CLI现在将创建既旧(ES5)又新的(ES2015 +)JavaScript标准的软件包,这些软件包将根据浏览器加载到客户端,从而降低了下载速度和时间,直到现代浏览器首次交互为止。 此功能是与Manfred Steyer共同开发的,基于他的项目ngx-build-modern 。 - 能够连接常春藤预览。
评估您的应用程序如何与Ivy一起使用,并告诉我们您的印象,以便我们可以对最终版本进行必要的调整。 - 与以前版本的Angular路由器完全兼容。
我们添加了向后兼容模式,该模式将简化大型项目的更新过程。 通过允许使用$ route API延迟加载部分AngularJS应用程序,开发人员可以更轻松地升级到Angular。 - 改进了Web Worker捆绑。
Web worker是编写在单独线程中运行的代码的好方法,这可以加快工作速度并改善应用程序并行性。 应许多开发人员的要求,命令行界面将支持Webworker捆绑。 - 发送使用情况数据(可选)。
我们将遥测功能添加到命令行界面,以更好地了解开发人员的需求。 经过您的同意,我们将收集匿名数据,例如您使用的命令或构建速度。 我们掌握的有关开发人员如何使用Angular的信息越多,我们制作出的产品就越好。 - 依赖关系更新。
与往常一样,我们将更新依赖项,尤其是TypeScript,RxJS和Node,以便跟上JavaScript生态系统的其余部分。
常春藤的进一步发展将是什么样?
在8.0版中,我们要介绍启用Ivy Preview的功能。 如果您不熟悉Ivy, 请在Google I / O 2018上查看Kara的Ivy演讲 。
在初步版本中,将可以在Ivy和标准View Engine之间切换。 有关更多信息,请参见将来的beta版本。 如果应用程序是由Ivy编译器编译的,则由于要通过兼容性编译器运行,因此来自Angular或其他第三方组件的任何依存关系仍将起作用。 使用初步版本,您可以在连接依赖项时检测到错误,并帮助我们优化编译器。
Ivy Preview的期望是什么:
- 生成的代码易于在运行时阅读和调试
- 减少重建时间
- 优化的捆绑包大小(在实际应用中捆绑包大小的减小已经很明显,但是,这部分计划进一步改进)
- 高级模板类型检查
- 与先前版本完全兼容
Ivy尚未准备好涵盖所有用例。 预览中很可能不支持某些功能,例如Angular Universal中的i18n。 特别是,Angular Language Service不适用于Ivy Preview。
初步版本的目的是将现有应用程序转移到Ivy引擎,而无需重写它们。 作为Angular Labs和未来版本的一部分,我们还将在以后将许多常春藤特定的API添加到我们的公共API中。
什么时候准备好?
我们计划在2019年4月推出候选版本,一个月后-公开版本8.0.0发行了,但我们不能对此条款提供绝对保证。 在8.0.0版中,Ivy Preview旨在测试与Angular的早期版本完全兼容的论点。 它还将使我们能够开发将来可能需要的自动化迁移工具。
我们希望在计划于今年秋天发布的下一个主要版本中将Ivy所有人都包括在内,因为我们旨在实现与以前版本的完全兼容性并支持现有应用程序。
在第九版中引入Ivy的全部功能将为开发人员打开许多机会,这是个好消息。 不久,我们将分享我们的计划,以引入新功能,API,使用Ivy的功能以及使用它进行开发。
关注我们的博客文章, twitter,并参加ng-conf会议,以了解有关我们计划的更多信息。