AngularJS 为什么突然火爆起来?

一揽子处置方案。除了 MVVM 的东西以外:基于 jQLite 提供了 DOM,这样就不用自己再弄个 DOM 库;基于 q 提供了 Promise;独具一格的依赖注入,这样就不用弄个 RequireJS 或许 SeaJS 一类的东西;当然还有 routing 和 XMLHttpRequest 的封装。这样的话用了 Angular 就基本全套搞定了,并且各个局部之间相处十分愉快。自己运用各种 library 来区分提供这些功用的话,关于新手来说还是挺头疼的,毕竟各自为战。

据我观察,Angular 在非前端开发者中甚至比在前端开发者中还要受欢迎。一方面是 Angular 的 MVVM 十分方便,对 JavaScript DOM 不熟习的人完全不用自己处置那些细节。另一方面是 JavaScript 语法太灵敏混乱,而 Angular 提供了十分明白的 code style 来遵守,这样第三方的代码也容易看懂。

极度适宜写相对复杂的 webapp,而复杂一点的也好办。弱小的框架和美丽整洁的 API 招致的结果就是,只需稍熟习 Angular,改改模板,加上几个 provider,就可以四处用。就像当年用 WordPress 一天建 10 个站那样的效率。

Play well with jQuery。我团体并不喜欢 jQuery,但是不可否认 jQuery 就是太盛行了。于是像 Angular 这样不去做很多与 jQuery 重复的功用,并且 API 和 jQuery 分歧的库,确实更容易让人接受。

Google 的后台。这个有不少人提到,但是其实这并不是充沛条件;Google Closure Library 就并没有很盛行。

但是假设是曾经习气传统的 JavaScript 开发的开发者,能够会觉得 Angular 的形式有些奇异和拘束,所以不一定会很快接受。这也是 Angular 在 09 年就面世却最近两年才大红大紫的缘由之一。

当然 Angular 还是存在不少效果的。一些十分 dynamic 的东西,运用模板很难优雅地做到;关于中级开发者来说,digest loop 的很多局限性很难弄清楚;MVVM 设计所带来的功用效果在 2.0 中似乎也没法被有效地缓解。

提供最优质的资源集合

立即查看 了解详情