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(转载)

目录
相关文章
|
测试技术 UED 开发者
“Angular高手必看:模块化与依赖注入的绝妙搭配,让你的代码瞬间高大上!”
【10月更文挑战第25天】本文以问答形式详细探讨了Angular框架中的模块化与依赖注入的高级特性。主要内容包括:Angular模块的基本概念和创建方法,依赖注入的实现方式,模块间依赖关系的处理,以及懒加载模块的使用。通过这些特性,可以提高代码的可维护性和复用性,优化大型Web应用的开发和性能。
250 2
升级到Angular6后对老版本的RXJS代码做相应的调整
还没有了解过RXJS6的童鞋,可以查看我的另外一篇博文,此篇博文主要是对于RXJS5升级到RXJS6的代码调整示例 RXJS5版本 在RXJS5上我们是这样写请求的 import 'rxjs/add/observable/of'; import 'rxjs/add/observable/thr...
1503 0
|
Java .NET 开发框架
使用Angular CLI从蓝本生成代码
第一篇文章是: "使用angular cli生成angular5项目" : http://www.cnblogs.com/cgzl/p/8594571.html 这篇文章主要是讲生成 Components, Directive, Service, class, interface, enum等等.
1407 0
|
JavaScript
解决vue项目build之后部署到服务器访问的时候出现报错:Uncaught SyntaxError: Unexpected token ‘<‘ chunk-vendors:XXXXXX
解决vue项目build之后部署到服务器访问的时候出现报错:Uncaught SyntaxError: Unexpected token ‘<‘ chunk-vendors:XXXXXX
解决vue项目build之后部署到服务器访问的时候出现报错:Uncaught SyntaxError: Unexpected token ‘<‘ chunk-vendors:XXXXXX
|
开发者 前端开发 开发框架
JSF与移动应用,开启全新交互体验!让你的Web应用轻松征服移动设备,让用户爱不释手!
【8月更文挑战第31天】在现代Web应用开发中,移动设备的普及使得构建移动友好的应用变得至关重要。尽管JSF(JavaServer Faces)主要用于Web应用开发,但结合Bootstrap等前端框架,也能实现优秀的移动交互体验。本文探讨如何在JSF应用中实现移动友好性,并通过示例代码展示具体实现方法。使用Bootstrap的响应式布局和组件可以确保JSF页面在移动设备上自适应,并提供友好的表单输入和提交体验。尽管JSF存在组件库较小和学习成本较高等局限性,但合理利用其特性仍能显著提升用户体验。通过不断学习和实践,开发者可以更好地掌握JSF应用的移动友好性,为Web应用开发贡献力量。
172 1
|
API 开发者 UED
PrimeFaces:JSF的魔法衣橱,解锁UI设计的无限可能!
【8月更文挑战第31天】本文介绍如何结合 JSF(JavaServer Faces)和 PrimeFaces 构建美观且功能强大的现代用户界面。PrimeFaces 提供丰富的 UI 组件库,包括按钮、输入框、数据网格等,支持现代 Web 标准,简化界面开发。文章通过具体示例展示如何使用 `<p:inputText>` 和 `<p:calendar>` 等组件创建用户表单,并用 `<p:dataTable>` 展示数据集合,提升 JSF 应用的易用性和开发效率。
285 0
|
开发者 安全 SQL
JSF安全卫士:打造铜墙铁壁,抵御Web攻击的钢铁防线!
【8月更文挑战第31天】在构建Web应用时,安全性至关重要。JavaServer Faces (JSF)作为流行的Java Web框架,需防范如XSS、CSRF及SQL注入等攻击。本文详细介绍了如何在JSF应用中实施安全措施,包括严格验证用户输入、使用安全编码实践、实施内容安全策略(CSP)及使用CSRF tokens等。通过示例代码和最佳实践,帮助开发者构建更安全的应用,保护用户数据和系统资源。
207 0
|
开发者 C# C++
揭秘:如何轻松驾驭Uno Platform,用C#和XAML打造跨平台神器——一步步打造你的高性能WebAssembly应用!
【8月更文挑战第31天】Uno Platform 是一个跨平台应用程序框架,支持使用 C# 和 XAML 创建多平台应用,包括 Web。通过编译为 WebAssembly,Uno Platform 可实现在 Web 上运行高性能、接近原生体验的应用。本文介绍如何构建高效的 WebAssembly 应用:首先确保安装最新版本的 Visual Studio 或 VS Code 并配置 Uno Platform 开发环境;接着创建新的 Uno Platform 项目;然后通过安装工具链并使用 Uno WebAssembly CLI 编译应用;最后添加示例代码并测试应用。
513 0
|
前端开发 开发者 安全
JSF支付功能大揭秘:探索如何在Java世界中实现安全无缝的在线支付体验
【8月更文挑战第31天】在电子商务和在线交易日益普及的今天,实现在线支付功能已成为许多Web应用的必备需求。JavaServer Faces (JSF) 作为一种流行的Java Web框架,提供了丰富的组件和工具来构建用户界面,包括与支付网关集成以实现在线支付。支付网关是处理信用卡和借记卡支付的系统,在商家和银行之间起到桥梁作用。本文将探讨如何使用JSF与支付网关集成,以及实现在线支付功能时需要考虑的关键点
153 0