初识angularJs
来源:互联网 发布:英文雪绒花歌曲网络 编辑:程序博客网 时间:2024/05/13 19:15
浏览器是什么
在介绍AngularJS之前,我们需要先了解浏览器在渲染网页的过程中都做了些什么。
目前市场上有很多不同品牌的浏览器,常见的有Chrome、Safari、Firefox和IE。它们的核心功能基本上都是相同的:获取网页,并将它显示给用户。
浏览器获取页面对应的HTML文本,将其解析为一个在浏览器内部使用的结构,对页面的内容进行布局,并在内容显示到屏幕上之前加上样式,所有这些工作都是在浏览器内部进行的。
作为Web开发人员,我们的工作是构造网页的结构和内容,这样浏览器才能将它们转化成对用户来说比较美观的形式。
使用AngularJS,不仅可以构建页面的结构,而且可以构建用户和Web应用之间的交互。
AngularJS 是什么
AngularJS的官方文档是这样介绍它的。完全使用JavaScript编写的客户端技术。同其他历史悠久的Web技术(HTML、CSS
和JavaScript)配合使用,使Web应用开发比以往更简单、更快捷。AngularJS主要用于构建单页面Web应用。它通过增加开发人员和常见Web应用开发任务之间
的抽象级别,使构建交互式的现代Web应用变得更加简单。
AngularJS的开发团队将其描述为一种构建动态Web应用的结构化框架。
AngularJS使开发Web应用变得非常简单,同时也降低了构建复杂应用的难度。它提供了开发者在现代Web应用中经常要用到的一系列高级功能,例如:
解耦应用逻辑、数据模型和视图;Ajax服务;
依赖注入;
浏览历史(使书签和前进、后退按钮能够像在普通Web应用中一样工作);测试;
更多功能。
AngularJS有什么不同
在其他JavaScript框架中,我们被迫从自定义的JavaScript对象中进行扩展,并从外到内操作DOM。以jQuery1为例,为了在DOM中插入一个按钮元素,我们必须知道要把元素放到何处,并在合适的位置插入它:
var btn = $("<button>Hi</button>");
btn.on('click', function(evt) { console.log("Clicked button"); });$("#checkoutHolder").append(btn);
尽管这个过程并不复杂,但是它要求开发者对整个DOM结构都有所了解,并强迫我们在JavaScript代码中加入复杂的控制逻辑,用以操作外部DOM。
而AngularJS则通过原生的Model-View-Controller(MVC,模型视图控制器)功能增强了HTML。结果表明,这个选择可以快捷和愉悦地构建出令人印象深刻并且极富表现力的客户端应用。
利用它,开发者可将页面的一部分封装为一个应用,并且不强迫整个页面都使用AngularJS进行开发。这个特质在某些情况下非常有用,比如你的工作流程中已经包含了另外一个框架,或者你只希望页面中的某一部分是动态的,而剩下的部分是静态的或者是由其他JavaScript框架来控制的。
此外,AngularJS团队非常重视框架文件压缩后的大小,这样使用它就不会付出太多的额外代价(写作本书时,文件压缩后的体积在90 KB左右)。这一特性使得AngularJS非常适合用于开发功能原型。
许可
AngularJS的源码托管在GitHub2上,可以免费获取。它基于MIT许可发布,这意味着你可以
为AngularJS贡献代码,使其变得更加优秀。
为了促进大家为AngularJS贡献代码,开发团队把开发流程变得相对开放。任何重大变化都需要在AngularJS的邮件列表上3进行讨论,所有人都可以加入讨论,这样一来大家就可以对潜在的变动进行改进,并且防止重复劳动。
关于贡献代码的更多内容可以在AngularJS的官网中查看“贡献代码”部分4。
- 初识AngularJS
- angularJS初识
- 初识AngularJS
- 初识AngularJS
- 初识angularJs
- 初识angularJs
- 初识AngularJS
- 初识AngularJS
- 初识AngularJS
- angularjs初识
- 初识AngularJS
- 初识AngularJS
- 初识AngularJS
- 初识AngularJS
- AngularJS 世界------初识Angularjs
- Angularjs 路由之初识
- AngularJS初识--作用域
- 初识AngularJs(1)
- 基于OpenGL 的STL 文件可视化研究
- codeforces 617B 水题~
- 算法虐我千百遍,我待算法如初恋
- 【杭电 】[2040]亲和数
- [HeadFirst-JSPServlet学习笔记][第三章:实战MVC]
- 初识angularJs
- 全栈工程师
- 求1的方加上2的方一直加到N的方小于等于1000的N的值
- Android UI学习笔记 之 colors.xml
- vsftpd
- shell进行子网掩码(mask)和子网前缀(prefix)之间的转换
- ServletConfig对象、ServletContext
- 浏览器自动填表安全漏洞:查看浏览器保存的密码
- 求水仙花数