西甲2015赛程表

Angular 8正式发布!你造吗

6
回复
82
查看
打印 上一主题 下一主题
[复制链接]

403

主题

404

帖子

5839

安币

手工艺人

楼主
发表于 2019-5-31 14:32:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Angular 团队昨?#25307;?#24067;推出 Angular 8 正式版。
作为一个期待已久的重大版本更新,Angular 8 为框架、Angular Material 和命令行界面工具 Angular CLI 带来了大量的改进和新功能。
团队表示 Angular 8 显著减少了在现代浏览器中应用程序的启动时间、提供了用于定制 CLI 的新 API,并让 Angular 与生态系统以及更多的 Web 标准保持一致。
下面继续看看 Angular 8 中值得关注的新特性。
新特性
默认启用差异化加载(Differential loading)
所谓差异化加载就是浏览器会根据自己的状态在现代和旧版本的 JavaScript 之间进行选择的过程。在 Angular 8 中,我们可以通过为应用程序执行现代构建(es2015+)和旧版构建(es5)来默认使用此功能。
具体来说就是,作为构建过程的一部分,Angular CLI 将会分别生成现代(ES2015+)和旧版(ES5)构建的 JavaScript 捆绑包,当用户加载应用程序时,客户端会进行差异化加载,他们将自动获得所需的捆绑包。
差异化加载?#19978;?#33879;提升现代浏览器的加载速度和传输间隔时间(TTI),亦即意味着支持 ES2015 的浏览器将能够下载更小、更高效的捆绑包,当然这些包的加载速度和渲染速度都比以往更快。
这项工作主要基于 Manfred Steyer 的 ngx-build-modern 项目,与 Manfred 共同合作开发。
Angular 团队提供的数据,angular.io 网站为现代浏览器节省了超过 40kB 的捆绑包大小。每个网站的数据当然会有差异,主要取决于采用了多少现代的 JavaScript 特性。
新的渲染引擎 Ivy
作为新的渲染引擎,Ivy 旨在彻底缩减代码尺寸并增强系统灵活性。
与目前的 Angular View Engine 相比,Ivy 具有以下优势:
  • 通过 Angular 编译器生成的代码更具可?#21015;裕?#26356;易调试
  • 更快的重建速度
  • 有效减少负载大小,浏览器用于下载和解析应用程序的时间将更短
  • 更好的模板类型检查,以便在项目构建初期就可捕获更多 Bug
  • 优秀的向后兼容性
使用动态导入进?#26032;?#30001;?#28210;?/font>
在 Angular 8 中,我们可以使用路由以延迟加载部分应用程序,这是通过在路由?#28210;?#20013;使用 loadChildren 键来实现的。
在之前的版本中会编写如下的代码:
{path: '/admin', loadChildren: './admin/admin.module#AdminModule'}
这种语法是专门为 Angular 定?#39057;模?#24182;内置到其工具链中。但 Angular 8 将逐渐往行?#24403;?#20934;靠拢 —— 使用了动态导入的方式(dynamic imports)。
所?#28304;?#30721;会像下面这样:
{path: `/admin`, loadChildren: () =>
import(`./admin/admin.module`).then(m => m.AdminModule)}
这将改进对 VSCode 和 WebStorm 等开发工具的支持,可以更好理解和验证这些导入。
对 Web Worker 的支持
可能有不少开发者对于 Web Worker 不太熟悉,简单来说就是,开发者可通过 Web Worker 编写运行在主线程之外的代码(例如对图像和视频的操作),?#28304;?#25552;升应用程序的运行速度和并行性。
Web Worker 是前端开发中的一项重要创新。在此之前,所有 Web 应用程序只能使用单线程。而随着 Web Worker 的出现,可以将 CPU 分配到单独的?#24067;?#32447;程中,使浏览器环境拥有多线程,从而提升项目开发效?#30465;?/font>
在 Angular 8 之前,使用 Web Worker 存在这样的问题:在 worker 中运行的代码不能与应用程序的其余部分位于同一 JavaScript 脚本文件中,它必须是分开的。因此,对于曾经希望借助 Angular CLI 等工具,自动将 JavaScript 文件拆分、绑定到更少文件夹下的效果往往不?#36873;?/font>
Angular 8 的新特性之一就是改进了使用 Angular CLI 捆绑 WebWorker 的支持,这项改进意味着我们将走向多并发、自动化的 Web Worker 之路。
示例代码:
const worker = new Worker(`./my-worker.worker`, { type: `module` });
改进从 AngularJS 迁移至新版本的过程
属于 AngularJS(Angular 1.x 系列)的时代已经过去,虽然现在还能接收到团队的 bug 修复补丁,但不会再有任何更新。官方也在积极支持从 Angular 1.x 升级到更新的版本。
Angular Router 添加了向后兼容模式,以降低大型项目的升级成本。Angular Router 可以使用 $route APIs 延迟加载部分 AngularJS 应用程序,从而更容易地升级到 Angular。
目前仍有大量的企业在使用 AngularJS,他们没有升级的原因也很简单,这些应用运行?#24049;茫?#24182;?#20197;?#37325;构时无需太多投入。不过对于使用 AngularJS 进行大型开发的团队,现在正是升级的最佳时间。
Angular 8 不止带来了很多令人称赞的新功能,?#38405;?#26041;面的改进?#24425;?#19968;大亮点。与 Angular 7 相比,应用程序的启动时间变得更短,耗费的花销也更低。
那么问题来了,各位准备什么时候升级到 Angular 8 呢?
分享到:  QQ好友和群 QQ空间 微信
收藏
收藏0
支持
支持0
反对
反对0

314

主题

991

帖子

690

安币

手工艺人

沙发
发表于 2019-5-31 14:36:42 | 只看该作者
感觉楼主很用?#27169;量?#21862;~

451

主题

1123

帖子

1960

安币

手工艺人

板凳
发表于 2019-5-31 14:46:25 | 只看该作者
安卓巴士是个不错的网站,我来顶个贴~

1

主题

9363

帖子

2552

安币

Android大神

Rank: 6Rank: 6

地板
发表于 2019-5-31 14:49:58 | 只看该作者
楼主威武,以后多发干货,多办活动~!

325

主题

951

帖子

714

安币

手工艺人

5#
发表于 2019-5-31 14:52:00 | 只看该作者
?#30475;?#25105;都积极回帖?#27169;?#24819;要安币~

0

主题

9295

帖子

2892

安币

Android大神

Rank: 6Rank: 6

6#
发表于 2019-5-31 14:57:54 | 只看该作者
?#34892;?#22823;神~

443

主题

1127

帖子

1962

安币

手工艺人

7#
发表于 2019-5-31 15:00:36 | 只看该作者
?#30475;?#25105;都积极回帖?#27169;?#24819;要安币~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们
关闭
合作电话:
15618560077
Email:
[email protected]
商务市场合作/投稿
问题反馈及帮助
联系我们
领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:[email protected]

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )

西甲2015赛程表 上海上港套票 斯图加特机场 勒沃库森拜仁慕尼黑 韩国首尔分分彩开奖结果查询 连环夺宝2援彩金 里昂vs里尔预测 热刺门将 北京快3开奖软件 鹿岛鹿角赛程 美因茨vs汉诺威直播