backbone.js的基本目的和好处是什么?

我听到很多消息说,使用html5node.js时, backbone.js将非常有用。 我已经阅读了文档,但仍然无法获得backbone.js的基本目的。

有人可以简单地向我解释一下。 另外如果你可以指导我很好的教程。

谢谢

编辑:看到这个问题backbone.js的目的是什么?

几乎所有富客户端Web应用程序都有一个或多个对象列表,当您执行某些操作时,其中一个对象需要更改其显示方式。 想一想TODO列表,这是Backbone.js的典型例子。 以下是您可以执行此操作的一些方法:

  • 当你做出改变的时候,用jQuery或类似的东西来改变HTML div本身的文本。 但是当你想把它保存到服务器上呢? 你读了所有的HTML div的文本,使数据的权威性的地方? 那只是感觉笨重! 而如果你有其他国家,你不想显示给用户? 或者如果你想在两个不同的地方显示相同的对象?

  • 当你做出改变的时候,更新一个简单的Javascript对象,比如window.todos = [{id:1, foo:'bar'},...] 。 但是当你改变它的时候,你必须重新渲染使用这个对象的所有东西,并且告诉服务器这些改变。 如果您有两种或两种以上不同的方式来改变我们的TODO应用程序的状态,例如“标记所有已完成”function,那么您最终会重复一遍!

Backbone.js通过为每个包含数据权威版本的TODO对象创build一个Backbone.Model来解决这个问题。 无论何时更改模型上的属性,无论您将其更改为何处,都会通知该对象的所有视图重新呈现。 您可以使用单个函数调用将整个模型集合同步到REST风格的服务器。 您的应用程序将更易于维护,您可以更轻松地添加任意function。

backbone.js是一个MVC框架,它可以帮助你正确地组织你的代码,当你重用它的时候,它会非常有用和简单。

这是重量轻。

你可以在http://thomasdavis.github.com/2011/02/01/backbone-introduction.htmlfind一些很好的教程