经过两年半的研发, Backbone.js 发布了版本 1.0。 Backbone.js 是一个流行的 JavaScript 模型 / 视图类库,很多流行的单页面 Web 应用程序都使用了该 js,包括: USA Today 、 Rdio 和 Airbnb 。
Backbone.js 为用户提供了三个核心构建块:
- 模型 ,用于表示持久性对象。使用 Backbone.js 的同步功能,模型能够自动地与远程数据源(默认情况下通过 RESTful Web 服务)进行同步。同时,它还提供了工具能够容易地管理并同步数据源的模型集合。
- 视图,用于构建并维护 Web 应用程序的 UI。视图经过配置之后便能够监听自己所代表的模型的 change 事件,这使得模型和 UI 之间能够容易地、及时地进行同步。
- 路由,支持 Backbone.js 应用程序内的导航。尽管典型的 Backbone.js 应用程序是单页面界面,但是支持可加入书签的 URL 并且能够使用浏览器的返回按钮进行导航依然是必要的。Backbone.js 路由通过使用 HTML5 提供的新历史(History)API 对该功能提供了支持,如果不支持则使用 URL 散列实现。
与 0.9 系列相比 Backbone.js 带来了一些变化。这些变化包括:提供了一种更加智能的方式大量更新集合、自动解码编码的 URL 片段同时还为事件发生提供了新的 listenTo 和 stopListening 方法。默认情况下,现在在保存模型的时候才会进行模型验证,而在之前的版本中,属性设置之后马上就会进行验证。这些变化都不是开创性的,所以从 0.9 升级到 1.0 应该相当轻松。
虽然 Backbone.js 已经面世很长时间了,但是 1.0 版本绝对不是它的终点。
发布说明的最后明显是一个新想法的召集令:
让Backbone 处于核心地位的基本前提始终是,尝试并发现利用JavaScript 构建Web 应用程序时有用的最小数据结构(模型和集合)集合和原始用户界面(视图和URL)。我们将继续追逐这些特殊类型的功能,如果你认为自己已经找到一个这样的功能,请发送给我们。在一个包罗万象的生态系统中,为你决定所有事情的框架是很常见的,许多类库需要你重构网站从而适应它们的外观、感觉和默认行为——Backbone 应该继续成为一个工具,给你足够的自由去设计Web 应用程序的所有体验。
Backbone.js 1.0下载之后是一个单独的JavaScript 源文件。最小的经过gzip 压缩的版本只有6.3kb。Backbone.js 依赖于 underscore.js ,在使用视图和路由等依赖于 DOM 的特性时还依赖 jQuery 或者 Zepto 。
查看英文原文: Backbone.js 1.0 Released
评论