BackboneJS

为复杂WEB应用程序提供MVC架构

  Backbone.js为复杂WEB应用程序提供模型(models)、集合(collections)、视图(views)的结构。其中模型用于绑定键值数据和自定义事件;集合附有可枚举函数的丰富API; 视图可以声明事件处理函数,并通过RESRful JSON接口连接到应用程序。

  

backbone

 

  当我们开发含有大量Javascript的web应用程序时,首先你需要做的事情之一便是停止向DOM对象附加数据。 通过复杂多变的jQuery选择符和回调函数创建Javascript应用程序,包括在HTML UI,Javascript逻辑和数据之间保持同步,都不复杂。 但对付客户端应用来说,良好的架构通常是有很多益处的。

  Backbone将数据呈现为模型, 你可以创建模型、对模型进行验证和销毁,甚至将它保存到服务器。 当UI的变化引起模型属性改变时,模型会触发"change"事件; 所有显示模型数据的视图会接收到该事件的通知,继而视图重新渲染。 你无需查找DOM来搜索指定id的元素去手动更新HTML。 — 旦模型改变了,视图便会自动变化。

  backbone.js提供了一套web开发的框架,通过Models进行key-value绑定及custom事件处理,通过Collections提供一套丰富的API用于枚举功能,通过Views来进行事件处理及与现有的Application通过RESTful JSON接口进行交互.它是基于jquery和underscore的一个js框架。

  主要组成

  1.model:创建数据,进行数据验证,销毁或者保存到服务器上

  2.collection:可以增加元素,删除元素,获取长度,排序,比较等一系列工具方法,说白了就是一个保存 models的集合类

  3.view:绑定html模板,绑定界面元素的事件,初始的渲染,模型值改变后的重新渲染和界面元素的销毁等

  优势

  1. 将数据和界面很好的分离开来。

  2. 将事件的绑定很好的剥离出来,便于管理和迭代。

  3. 使得Javascript程序的模块化更加清晰、明了。

  应用场景

  最适合的应用场景是单页面应用,并且页面上有大量数据模型,模型之间需要进行复杂的信息沟通。

  Backbone.js官网:http://backbonejs.org/

  Backbone.js中文手册:http://www.aseoe.com/manual/backbone/

  Backbone.js入门教程:http://www.kancloud.cn/kancloud/backbonejs-learning-note/49379

  Backbone.js视频教程-初探backbone系列:http://study.163.com/course/introduction/742022.htm#/courseDetail

   BackBone.js入门教程:http://www.aseoe.com/special/webstart/backbone/