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

Backbone的特点
轻量级
Backbone的源码只有1000行左右(去注释和空` 6 o ] j x y l行后),文件大小只有1z ) l ` h { 2 J6KB,加上依赖库Underscore,也仅有29KB。你只需要花一点时间,就能轻松了解Backbone内部实现;或编写少量代码,来重载Backbone的部分机制;如果你想在Backbone的基础上做二次开发,也x [ B e h并不是一件复杂的事情。
MVC结构化
Backbone可以轻松将页面中的数据、逻辑、视图解耦,依照@ v L # y U x IBackbonex b R C Z 5 [进行代码结构组织,你可以将项目中的数据交互、业务逻辑、用户界面等工作,分配给多个同事同时I 7 9 w 3开发,并能有序c ; ; M S 0 r地组织到一x ` ! p起。同时,这对于大型和复杂项目的维护开发非常有帮助。继承机制在Backbone中,模块是可以被继承的,你可以通过面向对象的方式将a E / B应用中的数据模型、集合、视图有序地组织,让整个架构更加清晰;也可以方便地重载和扩展自定义方法。
建立与服务器的无缝连接
在Backbone中内置了一套与服务器数据的交互规则(如R F E果你了解REST架构,就能够轻松地理解它们),而数据的同步工作会在Model中自动进行,前端开发人员只需对客户端数据的进行操作,Backbone会自动将操作的数据同步到服务器。
界面事件管理
在MVC中,我们希望能将界面展现和业务逻辑完全分离,但对于用户产生的交互事件(如单击事件),我们却常常通过类似jQuery中的bind方法进行获取和绑定。
轻量级模板解析
模板解析是Underscore中提供的一个方法。为什么我要在介绍m f C } 4 2 s ^ GBackbone特性时引入Underscore中的方法?因为该方法能帮助我们更好地分离视图结构和逻辑,且Underscore是BD D I n 6 lackbone必须依赖的库。
BaP w +ckbone的适用性
Backbone并不像jQP s ^ huery那样具有非常强的适用性,如果你正准备构建一个大型或复杂的= ( 8 *单页Web应用,那么Backbone再适合不过。
如果想将Backbone应用到你的网站页面中,且页面中并没有复杂的逻辑和结构,那么这只会让你的页面i Q , T更加繁琐和难以维护。
如果你的项目并不复杂,但你却深深喜^ 7 z欢它的某个特性(可能是数据模型、视图管理B j D P V - S L或路由器),那么你可以将这部分源码从Backbone中抽取出来,因为在Backbone中,各模块间的依赖并不是很强,你能轻易的获取并使用其中, N W的某一个模块。
数据统计
数据评估
本站搜录了导航提供的Backbonejs都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由搜录了导航实际控制,在2022年3月3日 上午11:06收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,搜录了导航不承担任何责任。