AngularJS是一个开发动态Web应用的框架,同时也是一个用 JavaScript 编写的库。它可以通过 script 标签添加到网页中,让用户可以使用HTML作为模板语言并且可以通过扩展的HTML语法来使应用组件更加清晰和简洁。自2009年,由Misko Hevery 等人创建,后为Google所收购。目前已经被用于Google的多款产品当中。
AngularJS 不仅仅是一个JavaScript框架,它的核心其实是对HTML标签的增强。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得非常乏力。AngularJS使用指令 (directives) 的结构,尝试补足HTML本身在构建应用方面的缺陷,让浏览器能够识别新的语法。
使用AngularJS可以不用再“直接”操控DOM,只要在DOM上注上metadata (即AngularJS里的directive) ,AngularJS就可以帮用户操纵DOM。AngularJS不依赖任何其它的框架。用户甚至可以基于其它的框架来开发AngularJS应用。
AngularJS适用于开发增删改查功能的单页应用,为开发者呈现一个更高层次的抽象来简化应用的开发。在构建WEB应用的前端时,Angular提供的不是一个部分解决方案,而是一个完整的解决方案。它能够处理所有用户写过的混杂了DOM和AJAX的代码,并能够将它们组织的结构良好。这使得Angular在决定应该怎样构建一个CRUD应用时显得甚至有些“偏执 (opinionated) ”,但是尽管它“偏执”,它也尝试确保使用它构建的应用能够灵活的适应变化。但是像游戏开发之类需要对DOM进行大量操纵、又或者单纯需要极高运行速度的应用,AngularJS不是最好的选择。
资料来源:
AngularJS 中文文档