写点什么

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:0213429
用户头像

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

关注

评论

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

学会PCB通用布局规则,复杂设计也能轻松搞定!

华秋电子

PCB

小红书广告智能创意能力构建过程详解

小红书技术REDtech

人工智能 小红书

山东布谷科技直播APP源码搭建:核心的服务器系统

山东布谷科技

软件开发 系统架构 直播APP源码 服务器系统

超全60000多字详解 14 种设计模式 (多图+代码+总结+Demo)

Immerse

大模型驱动云计算创新变革

Baidu AICLOUD

异构计算 百度百舸 千帆大模型平台 LMops AI 原生

智慧火力发电厂数字孪生3D可视化平台

2D3D前端可视化开发

智慧电厂 智慧火电厂 智慧火力发电厂 数字孪生火电厂 火电厂三维可视化

航空航天行业的MES系统解决方案

万界星空科技

MES系统

研发管理平台的比较框架

iSoftBook

软件工程 敏捷精益 研发团队 研发效能管理 研发管理平台

AE 3D粒子系统插件 Trapcode Particular最新激活版

胖墩儿不胖y

视频特效 Mac软件 视频特效插件 特效工具

可观测性在灰度发布中的应用

观测云

微服务 性能优化 链路

制丝系统盘、启动盘

玄兴梦影

windows 系统重装 Liunx

无目标,有目标,多目标

玄兴梦影

目标 前进的路上

Databend 数据集成方案 | Data Infra 第 15 期

Databend

金融行业首批!度小满智算网络中心达到万卡规模

科技热闻

Apache Commons Daemon 使用教程

玄兴梦影

Linux windows 进程 服务

数据通信网络之IPv6基础

timerring

数据通信网络

从融云数智办公平台,看企业需要什么样的大模型?

融云 RongCloud

人工智能 AI 互联网 AIGC 数智办公

专访大连1号/连理卫星总指挥于晓洲:OpenHarmony在航天领域交出创新答卷

最新动态

球场LED显示屏应具备什么特点

Dylan

广告 足球 LED LED display LED显示屏

WorkPlus AI助理,基于ChatGPT的企业级知识问答机器人

BeeWorks

焱融科技助力智谱AI,打造大模型训练加速之道

焱融科技

AI大模型

打造次世代分析型数据库(二):这,不只是列存表

腾讯云大数据

数据库

【开源三方库】crypto-js加密算法库的使用方法

OpenHarmony开发者

OpenHarmony

数字孪生的深海迷航

脑极体

数字孪生

墨迹天气亮相2023服贸会,以“新方案、新合作”彰显品牌新价值

极客天地

「程序员转型技术管理」必修的 10 个能力提升方向

LigaAI

开发者 技术管理 经验总结 技术领导力 企业号9月PK榜

产品路线图如何制定?斯坦福大学产品管理课程为你支招

LigaAI

产品经理 经验总结 产品管理 产品路线图 企业号9月PK榜

Axios put 请求使用指南:优化开发流程

Apifox

程序员 前端 后端 axios put

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