在 Angular 8 中,我们能够期待些什么

转载请说明出处:葡萄城官网,葡萄城为开辟者供应专业的开辟东西、解决方案和效劳,赋能开辟者。

本文由葡萄城翻译并宣布

《在 Angular 8 中,我们能够期待些什么》

Angular 作为一款优异的前端框架,自降生之日起,就致力于面向前端开辟者供应一整套全功用解决方案。与其他盛行框架所寻求的理念差别,Angular并不是作为一款可以并入 Web 运用程序的轻量级框架而生,而是设想为:包含了一个完整的工作流,用于从项目建立最先,延续地保护并更新你的运用程序

2019关于 Angular来讲意义特殊,由于其包含了Ivy 等功用的全新版Angular 8 将于本年内正式宣布。只管 Angular 手艺团队仍没有对外宣布 Angular 8 正式版宣布日期,但其beta版在本月上线已几乎没有牵挂。Angular 8的宣布迫在眉睫!

那末,在 Angular 8 中,我们可以期待些什么?

Angular 8 中有什么新功用

只管大多数开辟者都在关注Ivy,但实在 Angular 8 中照样有许多值得称道的亮点:

  • JavaScript中的差异化加载

    作为构建历程的一部份,Angular CLI天生的新运用程序如今将包含用于旧版JavaScript(ES5)和当代JavaScript(ES2015 +)的零丁软件包。该包在客户端中完成差异化加载,以进步浏览器的加载速率和传输间隔时候(TTI)。这是一个好消息,意味着支撑ES2015的浏览器将可以下载更小、更高效的运用程序包,而这些运用程序包的加载速率和衬着速率都比以往更快。

  • Ivy (预览版)视图引擎争先试用

    您可在运用程序中最先运用Ivy衬着器,并向Angular团队供应运用反应,以便其实时做出优化和修复。

  • Angular Router的向后兼容形式

    Angular 添加了向后兼容形式,以下降大型项目的晋级本钱。Angular Router将可以运用 $ route APIs 在现有的Angular运用程序中,挑选耽误加载部份 Angular 1.x运用程序。在抱负的情况下,我们以至可以立行将Angular 1.x运用程序晋级到Angular 2+。

    然则,实际并不是如此。直到本日,另有大批传统的Angular运用程序仍在为企业供应效劳。而这些企业没有挑选晋级的缘由很简单:它们运转优越,并且在完成重写时无需太多投入。

    Angular 1.x的时期已完毕,以后不会有任何新的更新,直到2021年6月30日。因而,关于处置大型Angular 1.x运用程序开辟的团队,如今恰是挑选晋级的最好时候。

  • 革新的Web Worker绑定体式格局

    Web Worker是编写主线程运转代码的好要领,可用于进步运用程序的速率和并发性。为了到达这一目的,Angular团队在 CLI 中添加了革新的 Web Worker绑定支撑。

  • 可选的信息同享机制

    为了有用网络您的反应,更好地建立 Angular社区,Angular团队在CLI中添加了可选的信息同享机制。在您赞同的情况下,将最先网络您的命令行和构建速率等匿名信息。

  • 依靠关联更新

    与平常一样,Angular团队正在更新对TypeScript、RxJS和Node等东西的依靠关联,以便与 Angular 生态体系的其余部份对峙同步。

Angular Ivy 是什么?

《在 Angular 8 中,我们能够期待些什么》

作为下一代 Angular 的视图引擎,Ivy的涌现旨在完整缩减代码尺寸并加强体系灵活性。与现在的Angular View Engine比拟,Ivy具有以下上风:

  • 经由过程 Angular 编译器天生的代码如今将更轻易让开辟者浏览和明白
  • 项目重修时候将明显加速
  • 有用减少了负载大小,浏览器用于下载和剖析运用程序的时候将更短
  • 更好的模板范例搜检,以便您在项目构建早期,便可捕捉更多BUG,以防备用户在运转时碰到它们

除此以外,Angular Ivy与现有的Angular运用程序普遍兼容。因而,在抱负的情况下,您将无需变动运用程序即可取得Ivy的悉数支撑。这也是为何运用Angular 8和Ivy构建当前的Angular运用程序会越发方便。

Ivy(预览版)能够存在的题目

现在已知的是,Ivy 的国际版和Angular Universal版还没有完整兼容。固然,假如您在开辟历程当中碰到任何运用BUG,请马上向Angular手艺团队反应,以便他们可以实时解决题目并将您的发起作为 Ivy 正式版的一部份。

假如您的Angular运用程序支撑多语言或运用效劳器端显现数据,请不要愿望它能与Ivy圆满连系。除此以外,用户能够碰到的另一个题目就是Angular Material,现在来看,运用Angular Material的运用好像与行将宣布的Angular 8预览版Ivy不太婚配。

Angular 8 对 Web Worker 的支撑

关于那些对Web Worker 还不熟习的开辟者来讲,Web Worker标志着前端开辟中的一项主要立异,在此之前,一切 Web 运用程序仅限于运用单线程。而跟着 Web Worker 的涌现,可以将CPU分配到零丁的硬件线程中,使浏览器环境具有多线程,从而提拔项目开辟效力

在Angular 8更新之前,运用 Web Worker须要注重的题目是:在worker中运转的代码不能与运用程序的其余部份位于统一JavaScript剧本文件中。它必需是离开的。因而,关于曾愿望借助Angular CLI等东西,自动将JavaScript文件拆分、绑定到更少文件夹下的结果每每不佳。而Angular 8的新特征之一就是革新了运用Angular CLI绑缚WebWorker的支撑,这项革新意味着您将走向多并发、自动化的Web Worker之路。

Angular 8 对 TypeScript 的支撑

关于 Angular 8 中的依靠更新,包含了对Angular依靠项和最新版本的更新,如RxJS和TypeScript等框架。这看起来好像是一个细小的革新,但却一样受欢迎,特别是TypeScript部份。

Angular 8 的机能提拔

虽然 Angular 8 带来了许多使人赞美的功用,然则真正促使我们晋级的很大一部份缘由取决于其机能的提拔!为证明这一点,我们将对 Angular 7.2 和Angular 8.0.0-beta.7 举行周全对照。

该机能测试是基于ng new建立的新运用程序运转,并运用ng build –prod构建的。测试自身运用了Chrome的考核标签完成,经由过程 “Applied Fast 3G,4X CPU Slowdown” 的设置来模拟在挪动装备上运转。

Angular 7.2
运用Angular 7.2的正式版本天生main.js的大小为240KB。详细数据如下图:

《在 Angular 8 中,我们能够期待些什么》

Angular 8.0.0-beta.7
Angular 8 beta版本的main.js文件大小与Angular 7.2雷同:240KB。因而可知,文件大小没有任何转变,但让我们对照一下机能数据:

《在 Angular 8 中,我们能够期待些什么》

Angular 8 看起来更棒!相关于Angular 7.2,取得了相称不错的机能提拔。

因而,在 Angular 8 中,我们可以获得些什么

正如我们所看到的,Angular 8的新增特征除 Ivy 以外并不是很亮眼,只管这些特征异常好用,但关于大多数运用程序来讲并不主要。

基于这一点,您应当将运用程序晋级到Angular 8,照样对峙运用Angular 7?毫无疑问,你应当晋级它们。即使功用上没有任何大的严重更新,但经由过程 Angular 8 新增的差异化加载,您将取得明显的机能提拔。

更主要的是,晋级到Angular 8将确保您的运用程序为Ivy做好预备,即使现在 Ivy只是Angular 8供应的一个可选预览。假如您的运用程序须要兼容 Ivy,那末最好从如今最先尝试。

或许,您也可以挑选一条越发速捷且轻便的体式格局,比方运用一款相称成熟的商业化开辟东西——WijmoJS。如许,您就没必要斟酌项目中前端框架的兼容性和版本更新题目,由于它不只同时兼容了Angular、React、Vue、TypeScript和Ionic 等框架,还时候紧随手艺潮水,第一时候对峙对框架最新版本的周全支撑。

本文是由葡萄城手艺开辟团队宣布,转载请说明出处:葡萄城官网

相识可嵌入您体系的在线 Excel,请前去SpreadJS纯前端表格控件

与开辟人员分享前端手艺趋向、交流心得技能,请到场葡萄城“前端手艺交流群”(QQ群:720389894)

    原文作者:葡萄城控件
    原文地址: https://segmentfault.com/a/1190000018867910
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞