AngularJS(带有MVC模式的开源javascript框架)

AngularJS

维基百科,自由的百科全书
跳转至: 导航搜索
AngularJS
AngularJS(带有MVC模式的开源javascript框架)开发者Google Inc.和社区。初始版本2009年稳定版本1.0.7 / 2013年5月22日;7个月前开发状态活跃编程语言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的比较

Data-binding数据绑定[3]REST [4]Templating模板 [3]

参照

  1. ^ What Is Angular?. [12 February 2013].
  2. ^ AngularJS 1.0 -> 1.2 Roadmap. blog.angularjs.org. July 26, 2012 [2013-04-27].
  3. ^ 3.0 3.1 Backbonejs vs Angularjs: Demystifying the myths. [13 February 2013].
  4. ^ Javascript Frameworks And Data Binding. [13 February 2013].

继续阅读

外部链接



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带来帮助。

相关推荐