近日,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 还提到了五件事情,他们希望在正式发布前完善:
- 缩减 Angular 2 的负载大小。
- 使得 Angular CLI 在开发过程中端到端可用。
- 创建一个对开发者更加友好的路由定义和 Component Router 的连接 API。
- 支持动画效果。
- 支持 I 18n 和 L10n。
“最终的发布日期完全取决于用户反馈和事情的进展。”Minar 说。
在 Hacker News 发起的一个讨论中,用户 segphault 持一个积极的态度:
Angular 2 处理了 Angular 1.x 中的许多严重的缺陷。Angular 2 的组件和封装比起之前紊乱的服务、工厂和指令,变得更加简洁、精简。虽然一开始我对 Typescript 持怀疑态度,但现在我发现 Angular 2 确实得益于相干的对象模型和可选择的类型安全性。Typescript 没有造成妨碍。
有关于 Angular 2 的更多信息可以在 angular.io 和 Angular GitHub repository 上获得。
查看英文原文: Angular 2 Beta Released
感谢张龙对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。
评论