写点什么

AngularJS 2.0 细节披露

2014 年 11 月 02 日

上周在巴黎举行的 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:0212725
用户头像

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

关注

评论

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

玩转TypeScript工具类型(下)

有道技术团队

typescript 前端 网易有道

和声是容介态——为《链政经济:区块链如何服务新时代治国理政》一书作序

CECBC区块链专委会

幻读是啥,会有什么问题?如何解决?

云流

Java MySQL 数据库 面试 后端

二十不惑的年纪,我简直走了狗屎运(4面拿字节跳动offer)

云流

Java 程序员 架构 面试 计算机

国庆高质量出行,可视化开启智慧旅游

森友小锘

前端 物联网 可视化 旅游 数字孪生

低代码应用:软件开发的一体化最新形态!

优秀

低代码

JavaScript进阶(七)call, apply, bind

Augus

JavaScript 九月日更

区块链军事应用探析

CECBC区块链专委会

深入理解掌握零拷贝技术

Linux服务器开发

网络协议 零拷贝 Linux服务器开发 Linux内核 用户态

Hugo 源码阅读

Mayo

Go 源码阅读 Blog Hugo

【音视频专题】音频质量评估方法那些事

声网Agora

算法 音视频

基于Tensorflow + Opencv 实现CNN自定义图像分类

华为云开发者社区

tensorflow KNN OpenCV CNN

Kong 源码分析

Mayo

源码分析 openresty 网关 Gateway kong

网络攻防学习笔记 Day144

穿过生命散发芬芳

高可用 9月日更

金融级分布式事务解决方案DTC

tom

直播预告|如何节省30%人工成本,缩短80%商标办理周期?

京东科技开发者

商标 企业服务 灵活用工

汽车之家基于dubbo-go云平台的探索和实践

apache/dubbo-go

dubbo dubbo-go dubbogo Dubbo3

与顶级互联网公司技术大佬面对面聊聊RocketMQ

阿里巴巴云原生

阿里云 RocketMQ 云原生

作为一线技术人员,如何更好地提升自己

谙忆

管理 成长 引航计划

Tapdata 实时数据中台在智慧教育中的实践

tapdata

Go 语言网络库 getty 的那些事

apache/dubbo-go

Go dubbo Dubbo3

服务实体经济,银行区块链应用正在画一个更大的圆

CECBC区块链专委会

2021年公有云市场的5大趋势

浪潮云

云计算

我愿意招什么样的产品经理?

石云升

产品经理 招聘 9月日更

【初恋系列】那年的雨还在下...

人工智能~~~

iOS开发面试拿offer攻略之数据结构与算法篇附加安全加密

iOSer

ios 数据加密 iOS面试 iOS逆向 iOS算法

通俗易懂 即时通讯初学者入门 WhatsApp技术架构

OpenIM

银行数字化转型指南:《区域性银行数字化转型白皮书》完整版重磅发布

百度开发者中心

最佳实践 银行数字化转型

dubbo-go github action 集成测试

apache/dubbo-go

dubbo-go Apache Dubbo Dubbo3

Mp3文件结构全解析(一)

轻口味

android 音视频 9月日更 9 月日更

谈 C++17 里的 Observer 模式 - 4 - 信号槽模式

hedzr

c++ 算法 设计模式 Design Patterns c++17

亚马逊云科技 Webinar 电商专场

亚马逊云科技 Webinar 电商专场

AngularJS 2.0细节披露-InfoQ