backbone.js到底有什么作用?

文章源自stack overflow 中sushil bharwani的问题,以下是我的翻译,翻译错误之处可以联系我。

原问题

我试着从http://documentcloud.github.com/backbone这个网站去了解,bankbone到底有什么用,但是我现在还没怎么明白。

有没有能帮忙解释一下他到底是怎么运作的,他对写更好的JS代码有什么帮助?

原答案(回答者:Vladimir Gurovich)

backbone.js根本上是一个uber-light框架,它允许你以MVC(模块,视图和控制器)的结构方式去架构你的JS代码,其中…

模块是用你的代码进行数据的交互的一部分。
视图是这个模块的HTML表现形式(视图随着模块的改变而改变,等等)
选择控制器是一个盒子,这个盒子里允许储存你的JS APL经由hashbang的URL返回的的状态。举一个例子:http://twitter.com/#search?q=backbone.js

在使用Backbone中我发现了一些优点:

  1. 不再有冗长的JS代码:代码被分解成了一块块语义明朗的代码块,以后也许会使用与JAMMIT组合的js文件。

2.不再有 jQuery.data(bla ,bla):不再需要在DOM中存储数据,用模型来替代存储数据

3.事件绑定只是日常

4.Underscore 的实用库太有用了

5.backbone.js代码有很好的记录和可读性,其中的一些代码简直感觉打开了新世界的大门

当然还有一点缺点:如何将它应用到我的代码里这件事情,我已经被搞得晕头转向了,但是我是一个JS新手。