【问题标题】:Backbone.js and rails Code organizationBackbone.js 和 rails 代码组织
【发布时间】:2012-07-05 19:16:54
【问题描述】:

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

我在客户端使用主干,但整个网络应用程序并不都是主干,业务管理区域是一个单独的部分,主干应用程序在客户端运行,现在我正在寻找开始公共登录页面,我对如何使这项工作感到困惑,我应该为此页面创建一个新的主干应用程序,还是将更多视图模型和集合填充到同一个应用程序中?

两个页面的网址不同,一个是whatever.com/business,登陆页面在whatever.com

业务方面的许多视图和模型与公共登录页面所需的相同。但是我想不出一个好的解决方案来组织这个。

以前有没有人做过类似的事情。有什么见解吗?

谢谢

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      Backbone.js 是一个很棒的 MVC 框架,但在组织大型应用程序方面并没有太多约定。您需要熟悉一些好的设计模式才能充分利用它,否则它很快就会变得一团糟。

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-12
        • 2011-02-14
        • 1970-01-01
        • 2018-01-08
        • 2010-09-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多