Backbone.js和rails代码组织

时间:2012-07-05 11:30:08

标签: ruby-on-rails ruby-on-rails-3 backbone.js backbone-views backbone-routing

我正在开发一个拥有多种类型用户的应用,每个用户在登录时都有一个单独的视图。例如,业务类型用户将创建他的个人资料上传照片等,创建其他一些东西。然后,企业创建的内容在网络应用程序的登录页面上公开显示。

我在客户端使用骨干网,但整个网络应用程序并非全部骨干,业务管理区域是骨干应用程序在客户端运行的独立部分,现在我希望开始公共目标网页,我对如何使这项工作感到困惑,我应该为此页面创建一个新的骨干应用程序,还是将更多视图模型和集合添加到同一个应用程序中?

这两个页​​面的网址不同,就像在facebook.com和登录页面在whatever.com上一样

业务方面的许多视图和模型与公共登录页面上的相同。但我想不出如何组织这个问题的好方法。

之前有没有人在做过这样的事情。任何见解?

由于

2 个答案:

答案 0 :(得分:3)

Backbone.js是一个很棒的MVC框架,但是围绕组织大型应用程序并没有很多惯例。你需要熟悉一些好的设计模式才能充分利用它,否则很快就会变得混乱。

我之前看过AMD。看起来不错:
http://backbonetutorials.com/organizing-backbone-using-modules/

这也可能有所帮助:
http://ricostacruz.com/backbone-patterns/

我也很喜欢这本关于设计好API的规则书。我的点燃只有8美元! http://www.amazon.com/REST-API-Design-Rulebook-ebook/dp/B005XE5A7Q

编辑:我最近重构了一个庞大的backbone.js应用程序。如果我利用Javascript事件驱动的架构,我发现构建起来要容易得多。

答案 1 :(得分:2)

关于这个主题有两个优秀的(专业)Railscast,#323 Backbone on Rails Part 1#325 Backbone on Rails Part 2,不幸的是他们支持付费专区,但这笔钱是值得的。 Ryan使用backbone-on-rails gem来促进Backbone与Rails的集成。

建议在Rails中进行整个MVC处理(主要在后端,有一点Ajax,没有任何Backbone)在Backbone中(主要在前端,仅使用Rails)作为存储引擎)。如果您的应用程序主要包含Javascript或JQuery调用,或者您想要进行实时Web应用程序和实时页面更新,则选择Backbone或类似的ember.js等MVC JS框架非常有用。由于不确定MVC Javascript框架是否真的在技术上已经成熟,如果您不相信Backbone可以满足您的所有要求,我建议您坚持使用纯Rails。

一般架构的一个有趣的想法是使用JSON API作为Rails后端和JS MVC前端之间的连接,这意味着后端可以将相同的JSON推送到网页,就像对iOS和Android应用程序一样。< / p>