乐趣区

【Angular】Angular 与 AngularJs 之间的纠缠不清

Angular 与 AngularJs 之间的纠缠不清

市场关系
Angular 和 AngularJS 是两个独立的产品:

AngularJS 的官网是 Superheroic JavaScript MVW Framework;
Angular 的官网是 One framework. Mobile & desktop.。

官方的名称用法指导在 PRESS KIT – Angular Docs。
Marketing/Branding 部分其实只是单纯的设定,不需要逻辑,所以记住就好。
历史关系
最初 Google 提供了 AngularJS 和 AngularDart 两个框架(或者叫一个框架的两个实现?),分别用于 JavaScript 和 Dart 的 Web 开发。(关于 AngularJS 的名称问题在 AngularJS – FAQ 中有明确阐述,整个官网中都使用的是 AngularJS 这个正式名称)
Google 曾经计划基于 Web Components 技术重写 AngularJS 1.x,从而推出全新的 AngularJS 2.0,不过这个想法只在早期文档中存在,从未真正实现过。早在开发过程中,这个设计就已经被完全推翻掉了,新的框架也已经逐步不再使用 AngularJS 这个 Brand。
在一段时间内,谷歌曾经试图默许使用 Angular 这个新 Brand 来包含已有的 AngularJS Brand(即 AngularJS 1.x 也可以被成为 Angular 1.x,而 2+ 仅称为 Angular。注意是包含而非取代,即原框架正式名称始终为 AngularJS),来实现无缝过度。事实上民间很早就使用 Angular 作为 AngularJS 的简称了,所以这个做法影响并不大,毕竟不是所有人都天天在看官方博客。
随着名称混淆带来的各种问题,之后谷歌开始重新强调使用框架正式名称,即

https://github.com/angular/an… 中的项目称为 AngularJS,

https://github.com/angular/an… 中的项目称为 Angular。

Angular 的核心目标就是替代 AngularJS,Google 官方也多次表示,只有等 Angular 的用户数量全面超过 AngularJS 之后才会停止对 AngularJS 的维护。
其他的:Dart 是什么?
最初设计 Dart,是 Google 的一帮程序员出于对 JavaScript 的不满,决定自己搞一个新语言用来替换 JavaScript 的,所以刚开始 Dart 也就是用来作为浏览器脚本运行在浏览器中的。Google 的这帮程序员万万没想到,看似并无大用的 JavaScript 居然因为 NodeJS 而焕发了第二春。于是 Dart 被这股浪潮遮掩了它的光芒,但是谷歌作为它的亲爸爸仍旧对它非常关照,在 Google 的未来操作系统 Fuchsia 中,Dart 被指定为官方的开发语言。

参考文献

《Angular 和 AngularJS 之间的关系?》
《你想了解的 Dart》

退出移动版