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

巴黎人开户网址

我们对Angular 8有什么期望?

43b84123b8424e379c94e539de3c57cf.jpeg

Angular是一个出色的前端框架,自成立以来一直致力于为前端开发人员提供全功能的解决方案。与其他流行框架所追求的思想不同,Angular并不是一个可以整合到Web应用程序中的轻量级框架。相反,它旨在包含一个完整的工作流程,从项目创建开始并继续。维护和更新您的申请。

2019年非常适合Angular,因为它包括新版本的Ivy和其他功能Angular 8将于今年正式发布。尽管Angular技术团队尚未发布Angular 8的正式发布日期,但测试版本本月几乎没有任何悬念。 Angular 8的发布很容易到达!

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

虽然大多数开发人员都在关注Ivy,但Angular 8中还有很多亮点:

Java中的差异化加载

作为构建过程的一部分,Angular CLI生成的新应用程序现在将包含用于旧Java(ES5)和现代Java(ES2015 +)的单独软件包。该程序包在客户端实现差异加载,以提高浏览器加载速度和传输间隔(TTI)。这是个好消息,这意味着支持ES2015的浏览器将能够下载更小,更高效的应用程序包,加载速度更快,渲染速度比以往更快。

常春藤(预览)视图引擎抢占式

您可以在应用程序中开始使用Ivy渲染器,并向Angular团队提供反馈,以便及时进行优化和修复。

角度路由器的向后兼容模式

Angular添加了向后兼容模型,以降低升级大型项目的成本。 Angular Router将能够使用$ route API来选择现有Angular应用程序中某些Angular 1.x应用程序的延迟加载。理想情况下,我们甚至可以立即将Angular 1.x应用程序升级到Angular 2+。

然而,这种情况并非如此。直到今天,仍有大量传统的Angular应用程序仍在为企业服务。这些公司没有选择升级的原因很简单:它们运行良好,在重写时不需要太多投资。

然而,Angular 1.x的时代已经结束,并且在2021年6月30日之前不会有任何新的更新。因此,对于从事大型Angular 1.x应用程序开发的团队来说,现在是选择升级的最佳时机。

改进的Web Worker绑定方法

Web Workers是编写在主线程上运行的代码的好方法,可用于提高应用程序的速度和并发性。为了实现这一目标,Angular团队为CLI添加了改进的Web Worker绑定支持。

可选的信息共享机制

为了有效地收集您的反馈并更好地构建Angular社区,Angular团队为CLI添加了可选的信息共享机制。经您同意,您将开始收集匿名信息,例如命令行和构建速度。

依赖性更新

与往常一样,Angular团队正在更新对Type,RxJS和Node等工具的依赖关系,以跟上Angular生态系统的其余部分。

a78a6f6dd5264e10b41bae006ba6e143.jpeg

作为下一代Angular的视图引擎,Ivy已经出现,从根本上减少了代码大小并提高了系统灵活性。与目前的Angular View Engine相比,Ivy具有以下优势:

现在,Angular编译器生成的代码将更易于开发人员阅读和理解

项目重建时间将明显加快

有效地减少了负载大小,浏览器将花费更少的时间来下载和解析应用程序

更好的模板类型检查,以便您可以在项目构建的早期捕获更多错误,以防止用户在运行时遇到它们

此外,Angular Ivy Angular与现有应用程序广泛兼容。因此,理想情况下,您将获得Ivy的全力支持,而无需更改应用程序。这就是为什么使用Angular 8和Ivy当前的Angular构建应用程序会更方便。

目前已知国际版的Ivy和Angular Universal版本尚未完全兼容。当然,如果您在开发过程中遇到任何使用BUG,请立即向技术团队反馈,以便他们可以解决问题和您的建议作为常春藤正式版的一部分。

如果您的Angular应用程序支持多种语言或使用服务器端呈现数据,请不要指望它与Ivy一起使用。此外,用户可能遇到的另一个问题是Angular Material。目前,使用Angular Material的应用程序似乎与即将推出的Angular 8预览Ivy不匹配。

对于不熟悉Web Workers的开发人员而言,Web Workers标志着前端开发的一项重要创新,其中所有Web应用程序仅限于单线程使用。随着Web Workers的出现,CPU可以分配给独立的硬件线程,使浏览器环境多线程化,从而提高项目开发效率。

在Angular 8更新之前,使用Web Workers时要注意的问题是,在worker中运行的代码不能与应用程序的其余部分位于同一Java脚本文件中。它必须是分开的。因此,使用Angular CLI等工具自动将Java文件拆分并绑定到较少的文件夹通常很困难。 Angular 8的一个新功能是改进了对使用Angular CLI捆绑Web Workers的支持。这种改进意味着您将走上多并发,自动化Web Workers的道路。

关于Angular 8中的依赖项更新,包括对Angular依赖项和最新版本(如RxJS和Type)的更新。这似乎是一个小小的改进,但它同样受欢迎,尤其是Type部分。

虽然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。具体数据如下:

cec0171eb71344e689748305d1c1b57a.jpeg

Angular 8.0.0-beta.7

Angular 8 beta版具有与Angular 7.2相同的main.js文件大小:240KB。如您所见,文件大小没有变化,但让我们比较性能数据:

58f612cdde544c1799f3ad3d58d1fe6c.jpeg

Angular 8看起来更好!与Angular 7.2相比,我获得了相当不错的性能提升。

正如我们所看到的,除了Ivy之外,Angular 8的新功能并不是非常引人注目,虽然这些功能非常有用,但它们对大多数应用程序并不重要。

基于此,您应该将您的应用程序升级到Angular 8,还是坚持使用Angular 7?毫无疑问,你应该升级它们。即使没有主要的功能重大更新,Angular 8的新差分加载也会显着提升性能。

更重要的是,升级到Angular 8将确保您的应用程序为Ivy做好准备,即使Ivy目前是Angular 8提供的可选预览。如果您的应用程序需要与Ivy兼容,那么最好从现在开始尝试。

或者,您可以选择更快更简单的方法,例如使用相当成熟的商业开发工具 WijmoJS。这样,您就不必考虑项目中前端框架的兼容性和版本更新,因为它不仅与Angular,React,Vue,Type和Ionic的框架兼容,而且还能跟上技术趋势,使框架保持最新。完全支持该版本。

Angular,Vue,React和其他前端框架趋势日新月异。为了更好地讨论和学习,Grape City“前端技术交流组”(QQ群:720389894)欢迎您,开发者可以在这里分享前端技术趋势。交流提示。与此同时,Grape City将邀请行业公牛分享该集团的各种技术。希望这个平台能够聚集前端精英并分享技术经验,最终赋予更多开发者权力。

关于葡萄城

授权开发人员! Grape City Group成立于1980年,是全球领先的开发工具,商业智能解决方案和管理系统设计工具软件和服务提供商。西安葡萄城是中国的分支机构,为全球市场提供软件研发服务,为中国企业的信息化提供国际先进的开发工具,软件和研发咨询服务。 Grape City的控制和软件产品在国内外赢得了无数奖项,并被全球数十万家公司,学校和政府机构使用。

看看更多