Angular 2 Beta 版发布

  • David Iffland
  • 刘嘉洋

2015 年 12 月 23 日

话题:JavaScript语言 & 开发

近日,Angular 团队发布了 Angular 2 的首个 Beta 版本。在正式版发布之前还有一些方面的工作需要完善,但是这次发布的 Beta 版还是给开发者们提供了一个坚实的框架来构建他们的应用程序。

通往 Angular 2 的道路是漫长而曲折的。InfoQ 首次写到有关它的内容是在 2014 年 3 月,自那个时候开始我们就一直追踪着它的进展。虽然 Angular 2 运用了许多相同的命名法术语和概念,但是 Angular 1 应用程序中的许多构件在 Angular 2 中并不存在。社区对于新版本的反响还有待进一步观察。

宣布 Angular 2 新版本发布的博客上,Angular 的经理 Brad Green 说道,“测试版代表着我们对于大多数的开发者可以成功运用 Angular 2 来构架大型应用程序非常有信心。”

Angular 2 经历了 55 个 alpha 版本,开发者们一路走来解决了许多变更点。在测试版本中,变更点将会被更加谨慎地处理。不会再是简单地更换一个功能,却而代之的是变更将会被逐步引入。在Angular Air的一个采访中,Misko Hevery 详细描述了这一过程:

在开发的过程中,当将会发生变更时,我们会首先确保要有对之前功能的否决。因此,变更工作会伴随着最终否决了先前的功能发生。

Igor Minar 补充道,

我们并没有打算做主要的变更。在这个测试版发布的阶段是我们收取反馈,让人们尝试使用 Angular 2,看看它有多棒,什么能正常运作而什么不能的阶段。基于人们的反馈,我们要问问自己这些改变是否值得去做,如果它们值得去改动,那接下来就会有对之前功能的否决,我们将会否决一些 APIs。

在测试版前做的最大的改动之一是 HTML 模版中的命名法,由kebab-case换为驼峰命名法。由于 HTML 分析器会将浏览器中的任何东西都转变为小写,因此 kebab case 起初是一个变通方案。为了完成他们的目标,Angular 团队必须构建他们自己的模板分析器。做了这个改动之后,团队可以实现区分大小写,于是现在 HTML 中的属性名称可以很好地与 JavaScript 的相对物进行匹配。

除了测试版本的一些常规优化阶段,Green 还提到了五件事情,他们希望在正式发布前完善:

  1. 缩减 Angular 2 的负载大小。
  2. 使得 Angular CLI 在开发过程中端到端可用。
  3. 创建一个对开发者更加友好的路由定义和 Component Router 的连接 API。
  4. 支持动画效果。
  5. 支持 I18n 和 L10n。

“最终的发布日期完全取决于用户反馈和事情的进展。”Minar 说。

Hacker News发起的一个讨论中,用户 segphault 持一个积极的态度:

Angular 2 处理了 Angular 1.x 中的许多严重的缺陷。Angular 2 的组件和封装比起之前紊乱的服务、工厂和指令,变得更加简洁、精简。虽然一开始我对 Typescript 持怀疑态度,但现在我发现 Angular 2 确实得益于相干的对象模型和可选择的类型安全性。Typescript 没有造成妨碍。

有关于 Angular 2 的更多信息可以在angular.ioAngular GitHub repository上获得。

查看英文原文:Angular 2 Beta Released


感谢张龙对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

JavaScript语言 & 开发