【问题标题】:Server side MVC +Client side MVC服务器端MVC+客户端MVC
【发布时间】:2012-05-23 21:25:28
【问题描述】:

一个应用程序既是 JS 密集型的,又具有复杂的业务逻辑 + 庞大的数据流,它使用主干JS 来构造 JavaScript 代码,并且还需要服务器端 MVC(本例中为 Spring)。

  1. 将服务器端 MVC (spring) 与客户端 MVC (backbone) 一起实现是个好主意吗?它们之间是否存在兼容性问题?
  2. 如果两者都可以实现。我将如何协调弹簧视图与主干视图。
  3. 带有模板引擎的客户端 MVC 将如何与 Spring 的“视图”协作。

虽然之前有人问过这个问题,但我找不到合适的答案。谁能帮我详细解答一下?

【问题讨论】:

    标签: spring model-view-controller backbone.js


    【解决方案1】:

    Backbone.js 主要用于 SPA(单页应用程序)。您的backbone.js 段(“视图”)由获取或更改的数据呈现和重新呈现。如果您的应用程序将是 javascript 密集型的,那么主干是一个极好的最小框架,它将帮助您组织您的应用程序。但是,当您的 javascript 应用程序变得非常大时,主干就不那么简单了。您必须对 javascript 的基础知识有透彻的了解,并有一个编程决定的模式。否则即使使用了backbone.js,你的应用程序也会变得一团糟。

    无论如何我离题了。将您的客户端应用程序(backbone.js 驱动)与您的服务器端应用程序(MVC 驱动)完全分开。您的服务器应用程序需要的所有客户端应用程序就是数据。这就是为什么backbone.js 是围绕REST API 构建的。如果您正在寻找开发大型 javascript 应用程序,我会考虑将 MVC 4 的 Web API 用于您的 REST API,并使用主干.js 来帮助组织和标准化您的客户端应用程序。

    【讨论】:

    • 谢谢@Tyrone。我同意你在需要主干的部分,但我担心的是我的应用程序使用 spring MVC 后端。两者同时使用是否有任何问题
    • 抱歉,Satyaditya,我认为我的观点并不清楚。只要您的主干.js 应用程序使用 REST Api,您在服务器端使用的技术应该没有区别。您的服务器端应用程序和客户端应用程序不应交织在一起。您的所有客户端应用程序将要做的就是从您的服务器端应用程序发布和获取数据。除此之外,他们没有其他共同点。本质上,服务器应用程序只负责发送和接收数据。
    • 您的服务器(Spring MVC)将不负责生成您的视图,backbone.js 将生成您的视图。看看 TODO 教程,你就会明白我的意思。
    【解决方案2】:

    本文介绍了如何使用服务器端 MVC 和 JS MVC 制作应用程序架构,尊重 MVC 模式。 http://blog.javascriptmvc.com/?p=68

    【讨论】:

      猜你喜欢
      • 2013-04-24
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多