1. 引述
最近由于项目中接触比较多,想简单谈一谈我所理解的AngularJS。
这个文章打算写几篇,分别是从基础的内容到部分原理的理解,每篇篇幅尽量精简,希望能给入门新手一个指引,也希望能让更多大牛们给些指点。
2. 基础
第一篇内容除了闲话,我想先谈一谈关于AngularJS的基础内容。
AngularJS到底是什么
AngularJS是一个非常全面的前端框架。之所称其全面,主要是因为它覆盖到了一个前端交互的全部流程。许多人总拿React的View渲染效率跟AngularJS做比较,仅凭这一点就说React强于AngularJS我觉得也是不科学的,毕竟这两个框架覆盖面不同其实可比性并不大。
AngularJS的优势
AngularJS最受关注的一个优势我感觉就是它的双向数据绑定,即model的修改会自动重新渲染view展示,而view的变化也将同步到model上,后续文章中,我也会就AngularJS的双向数据绑定的实现方式谈谈我的理解。
目前AngularJS已经不是唯一一个有这个特点的框架了,譬如与AngularJS类似的全面型框架 EmberJS、knockoutJS等,以及单一做双向数据绑定的VueJS
其他AngularJS的优势,比如依赖注入、语义化标签、全面的工具类、模块化开发等等就不一一赘述。
AngularJS适用于什么情况
AngularJS适用于“增删改查”型重前端交互或者单页APP的开发,这也很好理解,在这两种情况下,模块化和数据绑定才显得尤为重要。
AngularJS的现状
AngularJS现由Google收购维护,目前大版本已经到 1.4,自1.3版本起已经不再支持IE8浏览器,AngularJS很快将发布2.0版本,2.0版本相对1.X版本有了质的变化(以AtScript开发,取消$scope,directive等概念)。
AngularJS有缺点么
AngularJS有它异于其他框架的优势,但是也确实存在着劣势,例如饱受吐槽的域变量(scope)的概念以及其在整体上略显“重”的特点。虽然这个随着理解的深入和代码结构和质量的提高会有部分改善,但并不是完全不存在这些“缺点”。
目前比较热门的React也是因为它在View层渲染效率上的卓越表现,才使许多人弃AngularJS而转向React,这些也并不是一点道理没有。
结语:AngularJS不是一个完美的框架,但他确实是一个值得使用的全面的框架。
能力与水平有限,如有错误和建议欢迎指正