angularjs到底是什么?angularjs都可以做什么?
首先我们要了解angularjs到底是什么?
AngularJs(后面就简称ng了)是一个用于设计动态web应用的结构框架。
首先,它是一个框架,不是类库,是像EXT一样提供一整套方案用于设计web应用。它不仅仅是一个JavaScript框架,因为它的核心其实是对HTML标签的增强。何为HTML标签增强?其实就是使你能够用标签完成一部分页面逻辑,具体方式就是通过自定义标签、自定义属性等,这些HTML原生没有的标签/属性在ng中有一个名字:指令(directive)。后面会详细介绍。那么,什么又是动态web应用呢?与传统web系统相区别,web应用能为用户提供丰富的操作,能够随用户操作不断更新视图而不进行url跳转。ng官方也声明它更适用于开发CRUD应用,即数据操作比较多的应用,而非是游戏或图像处理类应用。为了实现这些,ng引入了一些非常棒的特性,包括模板机制、数据绑定、模块、指令、依赖注入、路由。通过数据与模板的绑定,能够让我们摆脱繁琐的DOM操作,而将注意力集中在业务逻辑上。
另外一个疑问,ng是MVC框架吗?还是MVVM框架?官网有提到ng的设计采用了MVC的基本思想,而又不完全是MVC,因为在书写代码时我们确实是在用ng-controller这个指令(起码从名字上看,是MVC吧),但这个controller处理的业务基本上都是与view进行交互,这么看来又很接近MVVM。让我们把目光移到官网那个非醒目的title上:“AngularJS — Superheroic JavaScript MVW Framework”。
我们再来看看angularjs可以做什么?
1.完全使用JavaScript编写的客户端技术。同其他历史悠久的Web技术(HTML、CSS和JavaScript)配合使用,使Web应用开发比以往更简单、更快捷。
2.AngularJS主要用于构建单页面Web应用。它通过增加开发人员和常见Web应用开发任务之间的抽象级别,使构建交互式的现代Web应用变得更加简单。
3.AngularJS的开发团队将其描述为一种构建动态Web应用的结构化框架。
4.AngularJS使开发Web应用变得非常简单,同时也降低了构建复杂应用的难度。它提供了开发者在现代Web应用中经常要用到的一系列高级功能,例如:
解耦应用逻辑、数据模型和视图;
Ajax服务;
依赖注入;
浏览历史(使书签和前进、后退按钮能够像在普通Web应用中一样工作);
测试;
AngularJS是一个MV*框架,最适于开发客户端的单页面应用。它不是个功能库,而是用来开发动态网页的框架。它专注于扩展HTML的功能,提供动态数据绑定(data binding),而且它能跟其它框架(如jQuery)合作融洽。
如果你要开发的是单页应用,AngularJS就是你的上上之选。Gmail、Google Docs、Twitter和Facebook这样的应用,都很能发挥AngularJS的长处。但是像游戏开发之类对DOM进行大量操纵、又或者单纯需要 极高运行速度的应用,就不是AngularJS的用武之地了。(想看更多angularjs的知识,推荐到PHP中文网AngularJS学习手册栏目学习)
最后,我们对angularjs做个简单的介绍:
AngularJS 重新定义了前端应用的开发方式。面对HTML和JavaScript之间的界线,它非但不畏缩不前,反而正面出击,提出了有效的解决方案。很多前端应用的开发框架,比如Backbone、EmberJS等,都要求开发者继承此框架特有的一些JavaScript对象。这种方式有其长处,但它不必要地污染了开发者自己代码的对象空间,还要求开发者去了解内存里那些抽象对象。尽管如此我们还是接受了这种方式,因为网络最初的设计无法提供 我们今天所需的交互性,于是我们需要框架,来帮我们填补JavaScript和HTML之间的鸿沟。而且有了它,你不用再“直接”操控DOM,只要给你的DOM注上metadata(即AngularJS里的directive们),然后让AngularJS来帮你操纵DOM。同时,AngularJS不依赖(也不妨碍)任何其他的框架。你甚至可以基于其它的框架来开发AngularJS应用。
以上就是本篇关于angularjs的介绍和angularjs的一些作用的文章了(想知道更多angularjs的知识,就到PHP中文网AngularJS使用手册栏目学习更多)。有问题的可以在下方留言提问。
【小编推荐】
js和node.js的区别是什么?js与node.js异同总结
以上就是angularjs到底是什么?angularjs都可以做什么?的详细内容,更多请关注其它相关文章!
上一篇: PHP校验码生成--备忘
推荐阅读
-
菜椒是什么?是做什么菜都可以放的辣椒吗?
-
基于AngularJS实现页面滚动到底自动加载数据的功能
-
angularjs内部到底有没有组件?Angular内部组件的详细介绍
-
angularjs内部到底有没有组件?Angular内部组件的详细介绍
-
angularjs的到底怎么用的?angularjs的框架实例详细解析(附完整实例)
-
angularjs的到底怎么用的?angularjs的框架实例详细解析(附完整实例)
-
angularjs是什么?angularjs的详细解释(内附实例)
-
分享AngularJS中核心功能是什么?
-
基于AngularJS实现页面滚动到底自动加载数据的功能_AngularJS
-
angularjs是什么?angularjs的详细解释(内附实例)