写点什么

AngularJS 2.0 细节披露

  • 2014-11-02
  • 本文字数:1630 字

    阅读完需:约 5 分钟

上周在巴黎举行的 ng-europe 大会上,Angular 团队为与会者介绍了即将到来的 AngularJS 2.0 版本的细节。新版本对 1.x 版本进行了重大的颠覆,当前还没有任何迁移指南,此外它还是基于一个名为 AtScript 的新语言进行开发的。

对于熟悉 Angular 1.X 版本的开发者来说,他们将看到一个完全不同的框架,并且必须学习一种新的架构。在一堂关于版本 2.0 的变更的讲座中,Igor Minar 和 Tobias Bosch 介绍了新的模板语法:

复制代码
<input type="text" [value]="firstName">
<button (click)="addPerson()">Add</button>

这种新语法将数据绑定到元素的属性(property)上,而不是特性(attribute)上。这就允许你使用以下语法:

<input type="checkbox" [checked]="someProperty">看上去类似于标准的 HTML,但这个复选框元素不会暴露出 checked 特性。新的模板引擎将数据绑定到元素的属性上,即使这些属性并非由 DOM 所暴露出的特性。

与新架构引起的其它剧变相比,新的模板语法只是一个相对较小的改动。与会者之一的 Michael Bromley 描述了一些新版本的一些破坏性改动,版本 2.0 取消了 1.X 中的以下概念

  • 控制器(Controller)
  • (Directive 定义对象)
  • $scope
  • angular.module
  • jqLite

关于 jqLite 的取消,Igor 是这样说的:

在 2.0 中,我们不会在框架中使用任何 DOM 的封装了,而是直接和原始的 DOM 打交道。自从我们启动项目以来,DOM 本身已经得到了很大的改善,因此我们不再需要一个兼容层来帮助我们应付跨浏览器的问题了。所以我们可以直接操作原始的 DOM。不过如果你想要使用 jQuery,在你的组件中应用 jQuery,那也完全没问题。

2.0 版本的一个目标是改善 Angular 应用的开发体验,在第 2 天的主题演讲上,AngularJS 之父 Miško Hevery 描述了如何通过使用 AtScript 来实现这一目标。

AtScript 是 TypeScript 的一个超集,后者是由微软创建的一门语言。TypeScript 为 JavaScript 加入了类型,而 AtScript 进一步扩展了这一思想,它为类型加入了标注与动态注入。

标注允许开发者为某个类加入“表达意图”的能力。因此,无需通过模板代码的方式创建自定义 directive,开发者可以创建一个类,并告诉 AngularJS“这是一个 directive”。而动态注入的能力允许框架在运行时检查类型信息。

不过,AtScript 的使用是可选的,开发 Angular 2.0 应用并不一定要使用 AtScript。Miško 说道:由于现在的社区和类库都是使用纯 JavaScript 开发的,因此不强迫 AtScript 的使用是非常重要的目标。而由于 AtScript 可以直接编译为 EcmaScript 5(ES5),因此开发者可以直接编写 Angular 2.0。

在一次问答讲座上,开发者们问道 Angular 1.3 还将获得多长时间的支持。Brad Green 是这样回答的:

比较合理的期望是,我们大约还需要 1 年半至 2 年时间以发布 2.0 的最终版本,这段时间内我们还会为 1.3 提供缺陷修复及安全补丁。

Angular 团队还暗示他们没有为从 Angular 1.X 迁移到 2.0 提供迁移指南,但他们也不排除这种可能。目前还没有确切的发布日期,不过团队基本达成了共识,会在 2015 年终最终完成版本 2.0。

Brad Green 还表示,Angular 2.0 只会支持“最新的浏览器”,但没有指出确切的版本。他说他们的团队“在尝试基于未来的标准进行开发,而不是关注于现有的标准”。

开发者们对于这次重大变更的感觉可谓是五味陈杂。Hacker News 的用户 zak_mc_kracken 说道

虽然新版本依然叫做“Angular”,但它与之前的版本几乎没有多少相似之处,它完全是一个新的框架。一想到我对于 Angular 1 所掌握的全部知识都将成为过期的内容,就禁不住感到有点儿悲伤,但我也很期待对这个新的框架进行一番研究。如果它的革新性能够达到 Angular 1 的一半,那我就会从中获得很大的乐趣。

ng-europe 大会的视频曾被短暂地上传到 YouTube 上,但很快就被删除了。按照 ng-europe 的 Twitter 帐号的说法,“他们将会在之后的两周内上传所有的视频”。在那之前,开发者可以参考 Angular 2.0 设计文档,并且查看 GitHub 上的代码库

查看英文原文: AngularJS 2.0 Details Emerge

2014-11-02 05:0213182
用户头像

发布了 428 篇内容, 共 182.3 次阅读, 收获喜欢 39 次。

关注

评论

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

「架构师训练营」第3 周作业 - 组合模式

森林

架构师0期03周总结

我在终点等你

【第三周】命题作业——单例及组合模式

三尾鱼

极客大学架构师训练营

【架构师训练营 - week3 -2】总结

早睡早起

可读代码编写炸鸡二(上篇) - 命名的长度

多选参数

代码 代码组织 代码规范

小师妹学JVM之:java的字节码byte code简介

程序那些事

Java JVM bytecode 字节码 签约计划第二季

架构师训练营 0 期第三周

Blink

架构师训练营-作业3

进击的炮灰

可读代码编写炸鸡二(下篇) - 命名的歧义

多选参数

代码 代码优化 代码组织 代码规范

数字货币监管当体现“中国之治”

CECBC

数字货币 CECBC 区块链技术 技术标准 准入和监管

架构学习第三周作业

乐天

第三周学习总结

Just顾

架构师训练营第三周总结

养乐多

【架构思维学习】 week03

chun1123

极客大学架构师训练营 框架开发 上课总结 第五课

John(易筋)

极客时间 设计模式 极客大学 极客大学架构师训练营 框架开发

架构师训练营第三周-学习总结

zongbin

设计模式-第三周

X﹏X

【架构思维 - 学习总结】week03

chun1123

学习 设计模式

架构师训练营第三周作业

zongbin

极客大学架构师训练营

架构师训练营第三周课后作业

赵凯

设计模式

新手村:最适合新手的 Redis 基础

多选参数

数据库 redis redis6.0.0

训练营第三周

Just顾

「架构师训练营」第 3 周作业 - 总结

森林

架构师训练营第三课总结

曾祥斌

【架构师训练营 - week3 -1】作业

早睡早起

架构师训练营-总结3

进击的炮灰

面向对象的设计模式

WW

架构师训练营第三周作业

talen

架构师训练营:第三周总结

zcj

蟒周刊/426: DjangoCon US 2020 取消了

ZoomQuiet大妈

Python 大妈 蟒营® Weekly 蟒周刊

2020互联网公司端午节礼盒合集!你最中意哪一款?

Java小咖秀

互联网人 端午节

AngularJS 2.0细节披露_语言 & 开发_David Iffland_InfoQ精选文章