1、什么是AngularJS
AngularJS是一个制作动态网页APP的框架,它可以使用HTML标签作为你的模板语言,同事你也可以使用扩展的HTML标签清晰简介的展示你的应用组件。AngularJS的数据绑定和依赖注入减少了许多代码。更重要的是这些都发生在浏览器端,这样就适用于任何服务端配置。
Angular就像HTML语言一样被设计的语言。HTML语言是为静态页面设计的声明式语言,在创建应用过程中,HTML语言不能包含太多东西,而且结果上HTML创建一个WEB应用其实就是我们不得不这样做,让浏览器显示我们想要的效果(building web applications is an exercise in what do I have to do to trick the browser into doing what I want?)。
解决动态应用和静态内容不可匹配的的方法通常是:
(1)类库:创建webAPPS时通常使用一个包含若干多方法的集合,当你需要使用某个方法时你的代码需要引入类库:例如JQuery。
(2)框架:一个web应用的具体实现。当你的程序需要填入详细信息时,这需要一个特殊的程序,这是就需要引用框架。
Angular采用了另一种方式。它试图解决以文档为中心的HTML和需要创建新的HTML结构的引用直接的问题。Angular创建新的标签指令,浏览器读取新的指令。例如:
○数据绑定‘{{}}’
○DOM控制:重复/隐藏DOM片段
○支持form表单和表单校验
○给DOM元素添加了新的方法,例如DOM事件绑定
○添加了可重用的HTML组件
完全的客户端解决方案
Angular不仅仅只是客户端应用开发中的一个单一片段,它处理了所有的DOM组件和AJAX 异步代码,形成一个完全自定义的框架。Angular的目标就是致力于创建一个CRUD应用,虽然如此,Angular依然能够灵活的自定义。Angular遵循下面的开箱操作:
○创建CRUD APP需要的聚合集:数据绑定,基本的模板指令,form表单校验,路由,链接,可重用组件,依赖注入。
○测试:单元测试,终端测试,模拟,测试工具
○带目录的源程序和以测试脚本为出发点。(test scripts as a starting point)
Angular的优势
Angular简化了应用开发,减少了应用程序的抽象等级。但是这样它也损失了自己的灵活性,并不是所有的应用开发都适用Angular。Angular目标是建立一个CRUD应用,幸运的是CRUD应用真是web开发的主流。理解Angular的优势,能帮助你理解那些应用开发不适用Angular。
游戏开发和GUI是密集使用DOM操作的非常典型的例子,区别于CRUD APPS,这些不适合用Angular开发。
下篇《Angular JS初探--- Angular的真谛》
译文地址:http://docs.angularjs.cn/guide/introduction