`
xinklabi
  • 浏览: 1590990 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

AngularJS

维基百科,自由的百科全书
跳转至: 导航搜索
AngularJS
开发者 初始版本 稳定版本 开发状态 编程语言操作系统文件大小类型许可协议网站
AngularJS logo
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带来帮助。

分享到:
评论

相关推荐

    AngularJS 中文版 入门 基础 教程

    AngularJS 是一款由Google维护的开源JavaScript框架,主要用于构建动态web应用。它通过MVC(Model-View-Controller)架构模式,使得前端开发更加模块化,提高了开发效率。本教程将带你深入理解AngularJS的基础知识,...

    Pro AngularJS

    AngularJS是由谷歌维护的一个开源的前端框架,它将MVC(模型-视图-控制器)设计模式带到了客户端,为构建复杂的、富有表现力的Web应用程序提供了坚实的基础。通过AngularJS,开发者可以创建出体积更小、速度更快、...

    WineCatalog:带有AngularJS和ASP.NET MVC的Web应用程序

    AngularJS是Google维护的一个前端JavaScript框架,用于构建单页应用程序(SPA)。它通过数据绑定和依赖注入来简化Web应用的开发,使得开发者可以更专注于业务逻辑,而不是DOM操作。在"WineCatalog"中,AngularJS可能...

    带有经典ASP.NET MVC应用程序的Angularjs路由配方

    **标题解析:**“带有经典ASP.NET MVC应用程序的Angularjs路由配方” 这个标题指出我们要讨论的是一个结合了AngularJS路由和经典ASP.NET MVC框架的应用程序。AngularJS路由是客户端JavaScript库AngularJS的一个核心...

    angularjs-latest

    标题“angularjs-latest”指的是AngularJS的最新版本,AngularJS是一个开源的JavaScript框架,主要用于构建用户界面,尤其是在移动应用开发中。它由Google维护,以其强大的数据绑定和依赖注入特性而闻名,使得开发...

    带有.NET MVC和AngularJS的单页应用程序

    标题中的“带有.NET MVC和AngularJS的单页应用程序”指的是一个使用Microsoft的ASP.NET MVC框架构建后端服务,同时结合AngularJS作为前端展示层技术的单页应用(SPA)。这样的组合使得开发人员能够构建功能丰富的...

    samb:一个带有 Derby、MyBatis、Spring MVC、AngularJS、AngularUI、Bootstrap、jQuery 的 Web 框架

    "Samb:一个带有 Derby、MyBatis、Spring MVC、AngularJS、AngularUI、Bootstrap、jQuery 的 Web 框架" 这个标题揭示了一个集成多种技术的Web开发框架。Samb框架的核心特性是整合了多个流行的技术栈,包括数据库管理...

    前端 - 贺天卓《使用 AngularJS 构建RIA前端架构实践》.pdf

    AngularJS是前端开发领域中一种流行的开源JavaScript框架,由Google维护。它的主要目标是增强基于MVC(模型-视图-控制器)架构的Web应用程序的功能。AngularJS通过双向数据绑定、依赖注入和组件化等特性,简化了前端...

    如何使用angularJs

    AngularJS是一个由Google支持的开源前端框架,由Misko Hevery领导开发,旨在为开发者提供一个更加模块化和可测试的前端开发环境。AngularJS的核心是MVC(Model-View-Controller)模式的实现,这个模式旨在将应用分为...

    精通AngularJS part1

    AngularJS中的MVC模式12 鸟瞰13 深入作用域15 视图21 模块与依赖注入26 模块26 协作对象27 注册服务29 模块的生命周期33 模块依赖35 13AngularJS和其他框架38 jQuery与AngularJS39 苹果与橙子40 窥视...

    AngularJS 中文Api参考手册

    AngularJS是一款由Google维护的开源JavaScript框架,用于构建单页应用程序(SPA)。它通过MVC(Model-View-Controller)架构模式和数据绑定来简化前端开发,使得开发者可以更高效地创建动态、交互性强的网页应用。 ...

    sample-linkedin-api:带有 Spring MVC-angularjs-mongoDB-Bootstrap CSS 的示例 Linkedin API

    AngularJS是Google开发的一个前端JavaScript框架,用于构建单页应用程序(SPA)。在这个项目中,AngularJS用于处理客户端的交互,如表单验证、数据绑定、路由管理等。它使得前端逻辑更加模块化,提高了用户体验。 ...

    AngularJS页面带参跳转及参数解析操作示例

    AngularJS是一种开源的JavaScript框架,由Google维护,适用于开发动态Web应用程序。它使得开发者能够利用HTML作为模板语言,并通过扩展HTML的标签来声明式地将数据绑定到DOM(文档对象模型)。AngularJS利用双向数据...

    eplan:带有 angularjs 和 ionic 的事件策划者

    "eplan:带有 angularjs 和 ionic 的事件策划者" 这个标题揭示了项目的核心内容,即一个使用 AngularJS 和 Ionic 框架开发的事件策划应用。AngularJS 是一个强大的 JavaScript 框架,主要用于构建前端单页应用程序...

    Advancesharp:带有 Web API 和实体框架的 Angularjs ui.router CRUD

    标题 "Advancesharp:带有 Web API 和实体框架的 Angularjs ui.router CRUD" 提供了几个关键知识点,这些知识点在现代Web开发中占有重要地位。首先,我们要关注的是技术栈,包括: 1. **AngularJS**:这是一个由...

    spa-primer-angular:这是带有 AngularJS 研讨会的 Spa Primer 的存储库

    AngularJS 是一个流行的 JavaScript 框架,由 Google 维护,用于构建单页应用程序(Single Page Applications, SPA)。 **描述详解:** 描述简单明了,表明这个存储库包含了与 AngularJS 研讨会相关的 "Spa Primer...

    reach:使用 AngularJS Front End & Sails.JS 开发的开源帮助台系统,带有 MongoDB Restful Services & Database

    "抵达"是一个开源的帮助台系统,它采用先进的前端框架AngularJS和后端框架Sails.js进行构建,旨在提供高效、灵活的客户服务解决方案。这个系统利用了MongoDB作为数据存储,并通过RESTful服务与数据库交互,确保了...

    to-do:带有 angularjs 和 laravel 的待办事项应用程序

    标题 "to-do:带有 angularjs 和 laravel 的待办事项应用程序" 暗示这是一个结合了 AngularJS 和 Laravel 框架的项目,用于构建一个简单的待办事项管理应用。这个应用利用 Laravel 提供后端服务,通过 RESTful API 与...

    ng-book2-r58.pdf

    此外,书中还提到了如何构建一个简单的Reddit克隆应用,包括项目的启动、编写第一个Angular Web应用程序、运行应用程序、制作组件、导入依赖项、使用组件装饰器、添加带有templateUrl的模板、以及在Windows系统上...

    nsu-demo-14-apr-2015:带有asp.net mvc的nsu算法类演示

    【标题】"nsu-demo-14-apr-2015:带有asp.net mvc的nsu算法类演示"是一个项目,展示了如何在ASP.NET MVC框架中实现NSU(南北大学)算法的示例。这个项目可能由教育机构或个人开发者创建,用于教学目的,帮助学生或...

Global site tag (gtag.js) - Google Analytics