我试图从其网站http://documentcloud.github.com/backbone上了解backbone.js的实用功能,但我仍然搞不懂太多。

谁能帮我解释一下它是如何工作的,以及它如何有助于编写更好的JavaScript?


当前回答

JQuery和Mootools只是一个工具箱,里面有很多你项目的工具。Backbone就像你的项目的架构或主干,你可以在上面使用JQuery或Mootools构建应用程序。

其他回答

backbone.js是带有JavaScript的模型-视图-控制器(MVC) 但Extjs(归档)比骨干MVC模式的java脚本

有了骨气,你几乎可以自由地做任何你想做的事。而不是尝试通过api和自定义,我将使用Backbonejs,因为它的简单性和易于实现。同样,很难说你需要从这两者中得到什么,一个是库,另一个是组件

这是一个很好的入门视频: http://vimeo.com/22685608

如果你想了解更多关于Rails和Backbone的知识,Thoughtbot有这本非常好的书(不是免费的): https://workshops.thoughtbot.com/backbone-js-on-rails

Backbone由Jeremy Ashkenas创建,他还编写了CoffeeScript。作为一个javascript较多的应用程序,我们现在所知道的Backbone负责将应用程序构建成一个一致的代码库。backbone的唯一依赖项Underscore.js也是DocumentCloud应用的一部分。

Backbone帮助开发人员在客户端web应用程序中管理数据模型,与传统服务器端应用程序逻辑中的规则和结构一样多。

使用Backbone.js的其他好处

将Backbone视为一个库,而不是一个框架 Javascript现在以一种结构化的方式组织起来,即(MVVM)模型 庞大的用户群体

js基本上是一个超轻的框架,它允许你以MVC(模型,视图,控制器)的方式构建你的Javascript代码。

模型是检索和填充数据的代码的一部分,

视图是这个模型的HTML表示(视图随着模型的改变而改变,等等)。

和可选的控制器,在这种情况下,它允许您通过hashbang URL保存Javascript应用程序的状态,例如:http://twitter.com/#search?q=backbone.js

我发现了Backbone的一些优点:

不再有Javascript面条:代码被组织并分解成语义上有意义的.js文件,然后使用JAMMIT进行组合 不再使用jQuery。data(bla, bla):不需要在DOM中存储数据,而是将数据存储在模型中 事件绑定可以正常工作 非常有用的下划线实用程序库 js的代码有很好的文档,值得一读。让我看到了很多JS代码技术。

缺点:

我花了一段时间来思考如何将它应用到我的代码中,但我是一个Javascript新手。

下面是一组关于使用Backbone和Rails作为后端的很棒的教程:

CloudEdit:一个Backbone.js教程与Rails:

http://www.jamesyu.org/2011/01/27/cloudedit-a-backbone-js-tutorial-by-example/

http://www.jamesyu.org/2011/02/09/backbone.js-tutorial-with-rails-part-2/

附注:还有一个很棒的Collection类,它可以让您处理模型的集合并模拟嵌套模型,但我不想从一开始就把您弄糊涂。

它还添加了使用KVO控制器和视图的路由。您将能够使用它开发“AJAXy”应用程序。

可以把它看作是一个轻量级的Sproutcore或Cappuccino框架。