AngularJS
Google Inc.和社区。 |
2009年 |
1.0.7 / 2013年5月22日 |
活跃 |
JavaScript |
跨平台 |
78.4KB 产品 479KB 开发 |
JavaScript函式库 |
MIT许可证 |
www.angularjs.org |
AngularJS是一款开源 JavaScript函式库,由Google维护, 众所周知地作为单一页面应用运作协助的。它的目标是增强基于浏览器的应用,并带有MVC模式 (MVC) 功能,这为了使得开发和测试变得更加容易。
函式库读取包含附加自定义(标签属性)的HTML, 遵从这些自定义属性中的指令,并将页面中的输入或输出与由JavaScript变量表示的模型绑定起来。这些JavaScript变量的值可以手工设置,或者从静态或动态JSON资源中获取。
Angular的哲学
AngularJS是建立在这样的信念上的:即声明式编程应该用于构建用户界面以及编写软件构建,而指令式编程非常适合来表示业务逻辑。[1] 框架采用并扩展了传统HTML,通过双向的数据绑定来适应动态内容,双向的数据绑定允许模型和视图之间的自动同步。因此,AngularJS使得对DOM的操作不再重要并提升了可测试性。
设计目标:
- 将应用逻辑与对DOM的操作解耦。这会提高代码的可测试性。
- 将应用程序的测试看的跟应用程序的编写一样重要。代码的构成方式对测试的难度有巨大的影响。
- 将应用程序的客户端与服务器端解耦。这允许客户端和服务器端的开发可以齐头并进,并且让双方的复用成为可能。
- 指导开发者完成构建应用程序的整个历程: 从用户界面的设计,到编写业务逻辑,再到测试。
Angular遵循软件工程的MVC模式,并鼓励展现,数据,和逻辑组件之间的松耦合.通过依赖注入(dependency injection),Angular为客户端的Web应用带来了传统服务端的服务,例如独立于视图的控制。 因此,后端减少了许多负担,产生了更轻的Web应用。
Angular主要的指令
双向数据绑定
Angular在呈现和资料中间,可以简单建立双向的数据绑定。
一但建立双向绑定。
使用者输入,会由Angular自动传到一个变量中,再自动读到所有绑到它的内容,更新它。效果上就是立即的资料同步。 在程式码中修改变量,也会直接反应到呈现的外观上。
不仅内容可以双向绑定,其他诸如类别、宽度、高度等等,都可以和变量与使用者的输入,绑定起来。
开发历史
AngularJS在2009年起先由Miško Hevery和Adam Abrons开发,作为在线JSON存储服务的软件,是以兆字节来计价,从而便于成为企业的应用。这个风投是以网络域名"GetAngular.com"注册的, 有些注册用户,在两人决定放弃这个商业想法之前,它作为一个开源库Angular许可发行。
Abrons离开了这个计划,但在Google工作的Hevery和一些谷歌员工Igor Minár和Vojta Jína等继续开发和维护这个库。
发行
发行1.0.x是现在稳定版本, 同时,1.1.x可能含有breaking changes 在小的发行上(例如 1.1.x – 1.1.y).[2]
和Backbone.js的比较
参照
- ^ What Is Angular?. [12 February 2013].
- ^ AngularJS 1.0 -> 1.2 Roadmap. blog.angularjs.org. July 26, 2012 [2013-04-27].
- ^ 3.0 3.1 Backbonejs vs Angularjs: Demystifying the myths. [13 February 2013].
- ^ Javascript Frameworks And Data Binding. [13 February 2013].
继续阅读
- Green, Brad; Seshadri, Shyam. AngularJS 1st. O'Reilly Media. March 22, 2013. 150. ISBN 978-1449344856.
外部链接
AngularJS是Google开源的一款JavaScript MVC框架,弥补了HTML在构建应用方面的不足,其通过使用指令(directives)结构来扩展HTML词汇,使开发者可以使用HTML来声明动态内容,从而使得Web开发和测试工作变得更加容易。
AngularJS诞生以来,吸引了大量的目光,也迅速成为了Web开发领域的新宠。本文整理了2013年度一些非常有价值的AngularJS相关教程和资源,如果你想了解AngularJS或正在使用AngularJS,那么这些资源肯定会为你的学习和进阶过程带来帮助。
一、了解AngularJS
AngularJS维基百科
专访AngularJS框架创始人Misko Hevery
Angular.js VS. Ember.js:谁将成为Web开发的新宠?
二、中文资源
1. 中文系列资源
AngularJS系列教程文章 – 大漠穷秋
AngularJS入门系列教程 – AngularJS中文社区
AngularJS学习笔记 – 邹业盛
AngularJS精彩问答 - 知乎
2. 其他单篇文章
AngularJS 最佳实践
有jQuery背景的开发者如何建立起AngularJS的思维模式?
现在就开始使用AngularJS的三个重要原因
使用AngularJS构建大型Web应用
Angularjs开发一些经验总结
5个示例带你学习AngularJS
3. 中文书籍
《使用AngularJS开发下一代WEB应用》
三、英文资源
1. AngularJS入门教程
AngularJS傻瓜教程系列
AngularJS移动开发权威指南
AngularJS 30分钟入门
60分钟掌握AngularJS
在你的AngularJS应用中建模数据
使用$https创建服务
了解AngularJS的5个步骤
AngularJS和RequireJS的动态加载控制器和视图
先进的设计模式和最佳实践
AngularJS动画
AngularJS Factory与RESTful服务的交互
使用Angular.js Factory获取远程数据
使用AngularJS的10个理由
AngularJS中Providers之间的差异
AngularJS过滤
针对jQuery开发者的AngularJ教程
Web开发者应该了解AngularJS的10个理由
Angular Js:何时应该使用Directive、Controller和Service?
30秒从jQuery转到AngularJS
2. AngularJS指令学习
为jQuery插件构建AngularJS指令
为D3.js条形图构建AngularJS指令
www.directiv.es:AngularJS指令库
Angular-localStorage
Videogular:一个基于AngularJS的HTML5视频播放器
Angular-cache
可用于Twitter Bootstrap的Angular指令
Angular的图表指令和服务
表排序
3. AngularJS应用开发实战
通过示例学习AngularJS——客户管理应用程序
AngularJS和IndexedDB结合使用
AngularJS:构建一个可重用的点击编辑指令
Play、Akka、AngularJS和Elasticsearch打造的实时日志搜索功能
使用Firebase和AngularJS打造自己的Google Reader
使用Phonegap、AngularJS和ExpressJS开发一个移动App
BirdWatch v0.2:基于AngularJS、ElasticSearch和Play Framework的Tweet流分析工具
基于Solr和AngularJS的即时搜索工具
Sortis:高级用户的Twitter客户端,初学者的跳板
可定制的Twitter AngularJS时间轴
AngularJS指令设计更轻松
4. AngularJS游戏开发
基于CoffeeScript和AngularJS的画圈打叉游戏
超级马里奥卡片翻转游戏
5. AngularJS工作流程和测试
AngularJS的测试策略 [视频]
使用Combining Yeoman、AngularJS和Cordova开发移动App
介绍Angular、Yeoman和Chrome应用程序 [视频]
使用Jasmine测试Angular.js应用
使用AngularJS和Karma进行全谱系测试
使用Grunt插件创建AngularJS文档
ng-boilerplate:新的AngularJS项目的样板
基于AngularJS的Chrome Web检查器扩展
在Sublime Text中使用AngularJS包
6. AngularJS书籍
《AngularJS in Action》
《The Beginner’s guide to AngularJS》
《Mastering Web Application Development with AngularJS》
英文资源出处:Syntaxspectrum。希望上述资源可以为你在2014年深入学习AngularJS带来帮助。
相关推荐
AngularJS 是一款由Google维护的开源JavaScript框架,主要用于构建动态web应用。它通过MVC(Model-View-Controller)架构模式,使得前端开发更加模块化,提高了开发效率。本教程将带你深入理解AngularJS的基础知识,...
AngularJS是由谷歌维护的一个开源的前端框架,它将MVC(模型-视图-控制器)设计模式带到了客户端,为构建复杂的、富有表现力的Web应用程序提供了坚实的基础。通过AngularJS,开发者可以创建出体积更小、速度更快、...
AngularJS是Google维护的一个前端JavaScript框架,用于构建单页应用程序(SPA)。它通过数据绑定和依赖注入来简化Web应用的开发,使得开发者可以更专注于业务逻辑,而不是DOM操作。在"WineCatalog"中,AngularJS可能...
**标题解析:**“带有经典ASP.NET MVC应用程序的Angularjs路由配方” 这个标题指出我们要讨论的是一个结合了AngularJS路由和经典ASP.NET MVC框架的应用程序。AngularJS路由是客户端JavaScript库AngularJS的一个核心...
标题“angularjs-latest”指的是AngularJS的最新版本,AngularJS是一个开源的JavaScript框架,主要用于构建用户界面,尤其是在移动应用开发中。它由Google维护,以其强大的数据绑定和依赖注入特性而闻名,使得开发...
标题中的“带有.NET MVC和AngularJS的单页应用程序”指的是一个使用Microsoft的ASP.NET MVC框架构建后端服务,同时结合AngularJS作为前端展示层技术的单页应用(SPA)。这样的组合使得开发人员能够构建功能丰富的...
"Samb:一个带有 Derby、MyBatis、Spring MVC、AngularJS、AngularUI、Bootstrap、jQuery 的 Web 框架" 这个标题揭示了一个集成多种技术的Web开发框架。Samb框架的核心特性是整合了多个流行的技术栈,包括数据库管理...
AngularJS是前端开发领域中一种流行的开源JavaScript框架,由Google维护。它的主要目标是增强基于MVC(模型-视图-控制器)架构的Web应用程序的功能。AngularJS通过双向数据绑定、依赖注入和组件化等特性,简化了前端...
AngularJS是一个由Google支持的开源前端框架,由Misko Hevery领导开发,旨在为开发者提供一个更加模块化和可测试的前端开发环境。AngularJS的核心是MVC(Model-View-Controller)模式的实现,这个模式旨在将应用分为...
AngularJS中的MVC模式12 鸟瞰13 深入作用域15 视图21 模块与依赖注入26 模块26 协作对象27 注册服务29 模块的生命周期33 模块依赖35 13AngularJS和其他框架38 jQuery与AngularJS39 苹果与橙子40 窥视...
AngularJS是一款由Google维护的开源JavaScript框架,用于构建单页应用程序(SPA)。它通过MVC(Model-View-Controller)架构模式和数据绑定来简化前端开发,使得开发者可以更高效地创建动态、交互性强的网页应用。 ...
AngularJS是Google开发的一个前端JavaScript框架,用于构建单页应用程序(SPA)。在这个项目中,AngularJS用于处理客户端的交互,如表单验证、数据绑定、路由管理等。它使得前端逻辑更加模块化,提高了用户体验。 ...
AngularJS是一种开源的JavaScript框架,由Google维护,适用于开发动态Web应用程序。它使得开发者能够利用HTML作为模板语言,并通过扩展HTML的标签来声明式地将数据绑定到DOM(文档对象模型)。AngularJS利用双向数据...
"eplan:带有 angularjs 和 ionic 的事件策划者" 这个标题揭示了项目的核心内容,即一个使用 AngularJS 和 Ionic 框架开发的事件策划应用。AngularJS 是一个强大的 JavaScript 框架,主要用于构建前端单页应用程序...
标题 "Advancesharp:带有 Web API 和实体框架的 Angularjs ui.router CRUD" 提供了几个关键知识点,这些知识点在现代Web开发中占有重要地位。首先,我们要关注的是技术栈,包括: 1. **AngularJS**:这是一个由...
AngularJS 是一个流行的 JavaScript 框架,由 Google 维护,用于构建单页应用程序(Single Page Applications, SPA)。 **描述详解:** 描述简单明了,表明这个存储库包含了与 AngularJS 研讨会相关的 "Spa Primer...
"抵达"是一个开源的帮助台系统,它采用先进的前端框架AngularJS和后端框架Sails.js进行构建,旨在提供高效、灵活的客户服务解决方案。这个系统利用了MongoDB作为数据存储,并通过RESTful服务与数据库交互,确保了...
标题 "to-do:带有 angularjs 和 laravel 的待办事项应用程序" 暗示这是一个结合了 AngularJS 和 Laravel 框架的项目,用于构建一个简单的待办事项管理应用。这个应用利用 Laravel 提供后端服务,通过 RESTful API 与...
此外,书中还提到了如何构建一个简单的Reddit克隆应用,包括项目的启动、编写第一个Angular Web应用程序、运行应用程序、制作组件、导入依赖项、使用组件装饰器、添加带有templateUrl的模板、以及在Windows系统上...
【标题】"nsu-demo-14-apr-2015:带有asp.net mvc的nsu算法类演示"是一个项目,展示了如何在ASP.NET MVC框架中实现NSU(南北大学)算法的示例。这个项目可能由教育机构或个人开发者创建,用于教学目的,帮助学生或...