Angular 4.0发布,致力于减小代码体积

谷歌发布了广受欢迎的Angular JavaScript框架的4.0版本,该版本致力于缩小生成代码的体积,以及保持框架的简化发布计划。

因为Angular改为使用语义版本控制,所以4.0版本的发布并不像2.0版本那么重大。 4.0版本仅仅意味着有开发人员需要注意的突破性变化。所幸这些变化影响并不大,不需要重新学习整个框架。Angular开发组成员Rob Wormald表示,“大多数开发人员应该只需要更新自己的依赖并进行重新构建。”

Angular跳过了版本3,直接发布了版本4,以便与已经采用了3.X版本号的Angular router版本保持同步。

4.0版本有很多新功能,其中大部分都是很小的功能改动。 最大的改进之一就是Angular的Ahead-Of-Time(AOT)编译器生成代码的方式。 Angular 开发组成员Tobias Bosch在设计文档中提道,一个源代码仅有245字节的示例模板被编译为32.5倍大的7,951字节的TypeScript代码。 虽然使用AOT编译器对于Angular性能有积极的影响,但传送到浏览器的带宽负荷很大。 在他的原型中,Bosch能够将编译的TypeScript代码降低到1,833字节(比原始代码大7.5倍,但小于原先编译器结果的25%)。 在4.0版本的公告中,Google提道,开发人员应该注意一个重大改进:

我们已经对AOT生成的代码进行了改进。在大多数情况下,这些改进会使生成的代码大小减少约60%。 模板越复杂,改进越明显。

在候选发布期间,据许多开发人员反馈,迁移到版本4使发布环境js包(production budles)减少了几百KB。

在Hacker News网站,开发者写道“从v2升级到v4是无感的”,而且Angular开发者Cory Rylan告诉InfoQ“这是尝试Angular的最好时机了,性能改进非常惊人!”

这个版本的Angular的TypeScript直接升级到2.1版本。之前使用的是1.8版本的TypeScript,没有向后兼容性。 其他重要变化是:

动画功能单独打包(package)

Angular Universal(服务器端渲染项目)与Angular同步发布(现在由Angular团队维护)

模板的Source Map功能

优化 ngIf和ngFor指令

随着此次发布,Angular团队已经履行了他们每六个月发布一次的承诺。 下一个主要版本(至5.0)将于2017年10月的某个时间发布。完整的发布时间表可在GitHub上找到。

本文转自d1net(转载)

时间: 2024-07-30 23:09:16

Angular 4.0发布,致力于减小代码体积的相关文章

Angular.js v1.6.0 发布,Web 前端框架

Web 前端框架 Angular.js v1.6.0 发布了.该版本合并了之前 1.6.0 候选版本中显示的所有更改. 新特性 ngModelOptions: 允许选项从祖先继承 ngModelOptions (296cfc, #10922) $compile: 默认设置 preAssignBindingsEnabled 为 false (bcd0d4, #15352) jqLite: implement jqLite(f) as an alias to jqLite(document).rea

一、Angular 2.0的变革之路-组件化 Web Components

Angular 2.0的变革之路 Angular 1.x从2009年到现在已经过了6个年头,虽然中间Angular1.x顺应前端思想加入了很多新的特性,例如在1.3版本加入的bindToController,在1.5版本加入的用于取代directive部分功能的component.然而从整体的设计思想来说,Web Components已经成为大势所趋,Angular的变革也就势在必行. Angular 2.0 放弃了对1.x版本的兼容,这也就意味着2.0版本没有了1.x版本的历史包袱.Googl

Angular Module声明和获取重载实例代码_AngularJS

module是angular中重要的模块组织方式,它提供了将一组内聚的业务组件(controller.service.filter.directive-)封装在一起的能力.这样做可以将代码按照业务领域问题分module的封装,然后利用module的依赖注入其关联的模块内容,使得我们能够更好的"分离关注点",达到更好的"高内聚低耦合"."高内聚低耦合"是来自面向对象设计原则.内聚是指模块或者对象内部的完整性,一组紧密联系的逻辑应该被封装在同一模块.

Laravel 5.0 发布 新版本特性详解

 这篇文章主要介绍了Laravel 5.0 发布 新版本特性详解,本文讲解了目录结构.Contracts.路由缓存.路由中间.控制器方法注入.认证脚手架等新特性,需要的朋友可以参考下     译注: 期待 Laravel 5.0 已经很久很久了, 之前跳票说要到今年一月份发布. 从一月份就一直在刷新官网和博客, 始终没有更新的消息, 前几天终于看到官网文档切换到了 5.0 版. 新版本带来了众多令人激动的新特性, 尤其是定时任务队列和表单请求两个特性, 光看一下更新说明中的简单介绍都忍不住要上手

XCache 2.0.0 发布,提升 PHP 运行性能

  XCache 2.0.0 发布,该版本支持 PHP 5.4.硬链接文件以及 __FILE__ __DIR__. XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率 2 到5 倍, 降低服务器负载.

AI大事件 | OpenAI员工离职创立机器人新公司,spaCy v2.0.0发布

呜啦啦啦啦啦大家好呀,又到了本周的AI大事件时间了.过去的一周中AI圈都发生了什么?大佬们互撕了哪些问题?研究者们发布了哪些值得一读的论文?又有哪些开源的代码和数据库可以使用了?文摘菌带你盘点过去一周AI大事件! 新闻 Waymo的无人驾驶汽车已奔驰在亚利桑那州凤凰城的大路上 来源:WWW.RECODE.NET 链接:https://www.recode.net/2017/11/7/16614780/alphabet-driverless-cars-phoenix-arizona Alphabe

三年0故障总结,提升代码质量的秘诀

该文章来自于阿里巴巴技术协会(ATA)精选文章. 个人经历 对我代码质量影响最大的是在一家外资企业,在这家公司我觉得有以下几个方面做的很不错. 团队编码风格统一 统一到什么程度? 不看代码作者,你很难区分代码是谁写的(在目前公司一些团队也能达到这个标准). 个人观点: 这样做有什么好处?团队中每个人阅读代码都很容易,减少很多沟通,维护成本( 代码阅读的次数远远大于变更的次数),并且心情非常愉悦.有人肯定觉得愉悦有点夸张,举个栗子: 有一些代码,如果不是由于与工作内容有关联,你是否有种这辈子都不情

Hyper™ 1.0.0 发布,JS/HTML/CSS 终端

Hyper 1.0.0 发布了,Hyper 是一款 JS / HTML/ CSS 终端工具.该项目旨在为用户创建一个美观的.易于扩展的命令行接口工具,并且构建一个开放式 Web 标准. 更新内容: 1.支持 Windows ,Linux 版改进 该版本正式宣布支持 Windows ,同时提供一流的 Linux 版本: 从child_pty 移动到 pty.js - 后者支持 Windows 重写了选项卡的 UI 添加了一个汉堡菜单,以便可以轻松访问应用菜单 2.改进的国际化键盘支持 如果之前使用

一个用于Gnome桌面的下拉式终端: Guake 0.7.0 发布

一个用于Gnome桌面的下拉式终端: Guake 0.7.0 发布 Linux的命令行是最好.最强大的东西,它使新手着迷,并为老手和极客的提供极其强大的功能.那些在服务器和生产环境下工作的人早已认识到了这个事实.有趣的是,Linux终端是Linus Torvald在1991年写内核时实现的第一批功能之一. 终端是个强大的工具,由于它没有什么可调整的部分,所以十分可靠.终端介于控制台环境和GUI环境之间.终端自身作为一个GUI程序,运行在桌面环境下.有许多终端是适用于特定的桌面环境的,其它的则是通