【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

  • 2017-04-12
  • 本文字数:1032 字

    阅读完需:约 3 分钟

谷歌发布了广受欢迎的 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 上找到。

查看英文原文 Angular 4.0 Released with a Focus on Shrinking App Size


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-04-12 19:003841

评论

发布
暂无评论
发现更多内容

Feign 共享登录信息进行请求

Java Feign

[Day47]-[递归]-基本计算器

方勇(gopher)

递归 LeetCode

如何提高技术部的信任值

石云升

项目管理 职场经验 5月月更 跨部门沟通

# 继续前行github star突破8k即时通讯IM开源项目OpenIM版本发布计划

Geek_1ef48b

FacadePattern-门面模式

梁歪歪 ♚

设计模式

微信朋友圈高性能架构设计

地下地上

架构实战营

[go]mongo工具类

林逸民

Go mongo goalng-underscore

BuilderPattern-建造者模式

梁歪歪 ♚

设计模式

一文读懂AQUANEE的开创性特点与未来

小哈区块

在操作系统这条赛道上,为什么Laxcus和Windows、MacOS不一样

LAXCUS分布式操作系统

大数据 容器 虚拟化 并行计算 分布式操作系统

上篇:技术架构的设计方法

阿里巴巴中间件

阿里云 中间件 技术分享 技术思考

架构实战营模块二作业:微信朋友圈高性能复杂度

融冰

【Go实现】实践GoF的23种设计模式:抽象工厂模式

元闰子

Go 设计模式 抽象工厂模式

架构实战营 - 模块 2 作业

Gavin.Yang

RocketMQ 5.0: 存储计算分离新思路

阿里巴巴中间件

阿里云 开源 云原生 消息队列 Apache RocketMQ

密码学系列之:PEM和PKCS7,PKCS8,PKCS12

程序那些事

密码学 程序那些事 5月月更

跨平台应用开发进阶(十八) :全局异常日志处理方案探究

No Silver Bullet

5月月更 异常日志 处理方案探究

一个程序员眼中的元宇宙

总师

程序员 元宇宙

一文读懂AQUANEE的开创性特点与未来

西柚子

MSVC编译环境介绍

Loken

音视频 5月月更

下篇:技术 Leader 的思考方式

阿里巴巴中间件

阿里云 中间件 技术分享

ProxyPattern-代理模式

梁歪歪 ♚

设计模式

微信朋友圈高性能复杂度分析

Justin1024

DecoratorPattern-装饰者模式

梁歪歪 ♚

设计模式

从原理到操作,让你在 Apache APISIX 中代理 Dubbo3 服务更便捷

阿里巴巴中间件

阿里云 开源 云原生 dubbo

SAP UI5 的自动化测试套件页面的开发步骤介绍

Jerry Wang

JavaScript SAP SAP UI5 5月月更 SAP前端开发

leetcode 540. Single Element in a Sorted Array 有序数组中的单一元素

okokabcd

LeetCode 查找

SDN系统方法 | 1. 概述

俞凡

架构 网络 sdn SDN系统方法

Flutter 利用 StreamProvider 一起玩 WebSocket

岛上码农

flutter ios 前端 安卓开发 5月月更

AdapterPattern-适配器模式

梁歪歪 ♚

设计模式

Docker下RabbitMQ四部曲之四:高可用实战

程序员欣宸

Java Docker Docker-compose RabbitMQ 5月月更

Angular 4.0发布,致力于减小代码体积_JavaScript_David Iffland_InfoQ精选文章