我是新来的Backbone.js的和我通过一些教程工作我的方式。 我发现一对夫妇似乎不错,但也有在如何实现,所以我正在寻找最佳做法的一些指导一些不一致的地方。
下面是我从学习教程:
- http://www.jamesyu.org/2011/01/27/cloudedit-a-backbone-js-tutorial-by-example/
- http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-1-getting-started
我的问题是:
- 第一啧啧利用Backbone.Controller但不Backbone.Collection的。 第二则相反。 这对于在骨干网自旋MVC“C”的最佳做法?
- 第一啧定义了模型的URL,而第二定义它在集合。 哪个是更好的做法?
- 第二啧啧利用Backbone.Router的,而第一个没有。 这是最好的做法?
另外,如果有人可以建议遵循最佳做法,更好地介绍教程中,我很乐意在那里学习。 不幸的是,因为这两者之间的不一致,我担心我可能会学习一些坏习惯出了大门。
提前致谢。
Backbone.Controller被更名为 Backbone.Router去年。 我猜你在读一个古老的教程。
BackboneTutorials.com是入门像样的教程。
建立一个小的应用程序,你学习,你就会知道做什么骨干为您服务。
学习骨干,最好的办法是要经过注释的源代码 。 每行注释和说明。
使用开发版本构建应用程序时,而不是缩小的版本。 这有助于调试。
如果你到看书,看看阿迪·奥斯马尼的骨干基础 ,一个免费的电子图书。 这本书是真棒,但相当冗长。 你可以使用它作为参考。
见这个问题对资源的最终名单上Quora的;
不要过分担心什么“V”,什么是“C”和骨干对MVC旋转。 该框架不分离,与服务器和执行核心客户端逻辑的代码交互的代码的一个出色的工作。 模板和DOM元素的更新用,留给你们。 这是在这个意义上相当简约。 骨干提供活动 ,让不同部分互相影响。
这是一个很好的问题。 虽然,骨干不走你应该如何组织你的代码的位置。
那么,真正的答案是:这取决于。
这取决于需要您的应用程序和要用来编程。
如果你想要一些最佳实践的概述,我想请您看看骨干样板工程: https://github.com/tbranyen/backbone-boilerplate
这个项目是非常稳固,并在启动时确实帮了我。
然后,要回答你的问题(这可能会觉得opiniated,它的确是):
1:骨干大多的MV *框架(模型-视图-不管)。 控制器逻辑大多居住到骨干网的说法,这是前端DEVELOPPEMENT OK逻辑往往是真正捆绑到UI(因为我们大多编码接口)。 骨干不来了内置有控制器,但如果你喜欢这种类型的组织,就建立你自己的。
2:的url取决于您的需要。 如果你取一个完整的集合,它设置的收集,如果你只取(或可能保存)一个模型,把它放在模型。 这些也住得很好。
3:关于路由器,如果你在你的应用程序建立多页/段,使用它们。 不使用的,但要注意routes
的action
,你会在RESTful API中做,这将大部分的时间带来的问题,最终(用户按后退按钮等)。 所以,如果你想管理页面中使用的路线。
希望这有助于!
我会从经验回答:
问:第二则相反。 这对于在骨干网自旋MVC“C”的最佳做法?
答:没有任何Controller
在当前骨干http://backbonejs.org/ - “C”发生无论是在视图(大多数情况下)或者在路由器(见下文)。
问:第一啧定义了模型的URL,而第二定义它在集合。 哪个是更好的做法?
答:有情况下,当你不需要的集合。 在情况下,当你不这样做,你的模型是绝对有需要的URL。 当你有一个集合,你指定集合URL将适用于它的车型。
问:第二啧啧利用Backbone.Router的,而第一个没有。 这是最好的做法?
答:经验法则-你想在2情况下使用路由器:1)当您想拥有的历史,和2)当您想拥有固定链接。 否则,你真的不需要路由器。