近三年最大改版Angular 9释出,开始预设使用Ivy编译器

前端网页开发框架Angular最新释出9.0,这个版本全面更新了开发框架、Angular Material以及CLI,Angular 9最大的亮点便是开始预设使用Ivy编译器和Runtime,并且改进测试元件的方法。官方表示,这个版本是过去三年来,最大的一次更新。

近三年最大改版Angular 9释出,开始预设使用Ivy编译器

Angular开发团队发展已久的Ivy编译器,在Angular 8.0发布时成为正式版本,在Angular 9变成了预设选项。Angular开发者使用TypeScript以及HTML来编写元件,但这些HTML最终都不会在用户的浏览器中执行,Angular的编译器会将这些HTML转换成JavaScript,当这些元件需要出现在页面上时,由JavaScript创建适当的DOM。

而Ivy是开发团队全新开发的编译器,使用渐增编译技术,能提升建置的速度,且能缩小捆绑包的大小,也让开发者可以更快进行测试,除错也更容易。开发团队提到,开发Ivy编译器的目的,是要精简不通过树摇处理的Angular部分,并使每个Angular元件产生更少的代码,经过这些改进,小型与大型应用程序,都能最大程度地缩减容量。

而那些没有使用太多Angular功能的小型应用程序,则可以使用树摇功能,获得更大的助益。而中等大小的应用程序,因为原本从树摇功能就获益较少,但是又因为没有使用足够多的元件,因此难以真正因为Ivy编译器缩减太多应用程序的容量。

近三年最大改版Angular 9释出,开始预设使用Ivy编译器

官方也改进了Ivy的TestBed提升其性能,过去TestBed会在每次测试执行时,无论元件是否有被修改,都会重新编译所有元件,而现在除非开发者手动覆盖某个元件,否则TestBed不会在测试的时候重新编译元件,因此能够避免绝大多数测试时的编译工作,使得框架核心测试速度加快40%,用户的应用程序测试速度应该也会加速40%到50%。

由于Ivy的新架构,编译器速度获得大幅的提升,官方以应用程序的TypeScript编译成本来衡量编译器效能,Ivy编译官方自家的文件应用程式angular.io,效率提升将近40%。而这代表AOT建置将能够更快,开发人员现在可以在开发模式建置使用AOT,增加开发效率。

Angular 9也加入了YouTube和Google地图新元件,开发者现在可以在应用程序中内嵌渲染YouTube播放器,而新的Google地图元件,则让开发者可以像是使用其他Angular元件一样,简单地渲染Google地图,显示标记并且与其互动,开发者不需要学习使用Google地图API的方法。

Angular在2019年JavaScript 2019大调查的表现并不好,调查显示其发展进入停滞状态,从2016年来,虽然使用人数持续成长,但是负评也越来越多,在去年使用人数停止成长,而负评声量却没有因此减少,趋势预测Angular在2020年将会开始衰退,而是否能利用这次大改版力挽狂澜,还值得观察下去。


分享到:


相關文章: