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

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


当前回答

涉及大量用户交互和许多AJAX请求的web应用程序,需要不时更改,并实时运行(如Facebook或StackOverflow)应该使用MVC框架,如Backbone.js。这是构建好代码的最好方法。

如果应用程序很小,那么Backbone.js就太过分了,尤其是对第一次使用它的用户。

Backbone为您提供了客户端MVC,以及由此隐含的所有优势。

其他回答

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类,它可以让您处理模型的集合并模拟嵌套模型,但我不想从一开始就把您弄糊涂。

涉及大量用户交互和许多AJAX请求的web应用程序,需要不时更改,并实时运行(如Facebook或StackOverflow)应该使用MVC框架,如Backbone.js。这是构建好代码的最好方法。

如果应用程序很小,那么Backbone.js就太过分了,尤其是对第一次使用它的用户。

Backbone为您提供了客户端MVC,以及由此隐含的所有优势。

是一个MVC设计模式在客户端,相信我。这将为你节省大量的代码,更不用说更干净清晰的代码,更容易维护的代码。 一开始可能有点棘手,但相信我,这是一个很棒的图书馆。

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

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

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

使用Backbone.js的其他好处

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