我试图从其网站http://documentcloud.github.com/backbone上了解backbone.js的实用功能,但我仍然搞不懂太多。
谁能帮我解释一下它是如何工作的,以及它如何有助于编写更好的JavaScript?
我试图从其网站http://documentcloud.github.com/backbone上了解backbone.js的实用功能,但我仍然搞不懂太多。
谁能帮我解释一下它是如何工作的,以及它如何有助于编写更好的JavaScript?
当前回答
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类,它可以让您处理模型的集合并模拟嵌套模型,但我不想从一开始就把您弄糊涂。
其他回答
JQuery和Mootools只是一个工具箱,里面有很多你项目的工具。Backbone就像你的项目的架构或主干,你可以在上面使用JQuery或Mootools构建应用程序。
涉及大量用户交互和许多AJAX请求的web应用程序,需要不时更改,并实时运行(如Facebook或StackOverflow)应该使用MVC框架,如Backbone.js。这是构建好代码的最好方法。
如果应用程序很小,那么Backbone.js就太过分了,尤其是对第一次使用它的用户。
Backbone为您提供了客户端MVC,以及由此隐含的所有优势。
这是我在BackboneJS上写的一篇快速入门文章。希望能有所帮助! http://www.infragistics.com/community/blogs/nanil/archive/2013/04/01/exploring-javascript-mv-frameworks-part-1-hello-backbonejs.aspx
已经有这么多好答案了。Backbone js有助于保持代码的组织性。更改模型/集合可以自动处理视图渲染,从而减少了大量的开发开销。
尽管它为开发提供了最大的灵活性,但开发人员应该小心地销毁模型并正确地删除视图。否则,应用程序中可能会出现内存泄漏。
js是一个帮助你组织代码的JavaScript框架。它实际上是构建应用程序的基础。它不提供小部件(如jQuery UI或Dojo)。
它为您提供了一组很酷的基类,您可以扩展这些基类来创建与服务器上RESTful端点接口的干净JavaScript代码。