本篇文章主要的向大家介绍了关于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的知识,推荐到angularjs学习手册栏目学习)
最后,我们对angularjs做个简单的介绍:
angularjs 重新定义了前端应用的开发方式。面对html和javascript之间的界线,它非但不畏缩不前,反而正面出击,提出了有效的解决方案。很多前端应用的开发框架,比如backbone、emberjs等,都要求开发者继承此框架特有的一些javascript对象。这种方式有其长处,但它不必要地污染了开发者自己代码的对象空间,还要求开发者去了解内存里那些抽象对象。尽管如此我们还是接受了这种方式,因为网络最初的设计无法提供 我们今天所需的交互性,于是我们需要框架,来帮我们填补javascript和html之间的鸿沟。而且有了它,你不用再“直接”操控dom,只要给你的dom注上metadata(即angularjs里的directive们),然后让angularjs来帮你操纵dom。同时,angularjs不依赖(也不妨碍)任何其他的框架。你甚至可以基于其它的框架来开发angularjs应用。
以上就是本篇关于angularjs的介绍和angularjs的一些作用的文章了(想知道更多angularjs的知识,就到angularjs使用手册栏目学习更多)。有问题的可以在下方留言提问。
【小编推荐】
js和node.js的区别是什么?js与node.js异同总结
node.js适合做什么?用node.js的好处在哪里?
以上就是angularjs到底是什么?angularjs都可以做什么?的详细内容。