JavaScript MVC框架和服务器端框架

11

这个问题涉及两个MVC框架的共存(客户端和服务器端)。

背景: 我对Web开发比较新,但是我是一名非常熟练的程序员。我最近才学习了JavaScript和Django。我的应用前端非常依赖JavaScript,因此我决定使用一个框架。我目前正在阅读可用的框架,并倾向于使用backbone.js + jquery。

我的问题是,我不完全理解像backbone.js这样的MVC框架如何与像Django这样的服务器端框架共存。

根据我对backbone.js的理解,当模型发生更改时,与模型相关的视图会自动更新。这里我们指的是“视图”属于客户端框架,正确吗?这样的“视图”会与后端框架的“控制器”通信吗?

可能的目录结构是什么?这样的架构好吗?

问题是否有意义?还是我迷失了?

编辑:为了增加一些清晰度:我想问的本质问题是:如何在客户端构建复杂的单页JS Web应用程序(特别是如果您正在使用客户端框架)?具体而言,我想知道如何在模型对象、UI组件、任何控制器以及处理服务器持久性的对象方面清晰地构建应用程序。

1个回答

8

我可以谈论Rails/Backbone,但我认为Django应该没有太大区别。

首先,像Backbone这样的客户端MVC框架不仅适用于单页应用程序。您也可以将其用于传统应用程序中一个或多个视图的交互增强。它们只是在客户端上提供结构和数据抽象。

接下来,这些客户端框架专门设计用于与后端MVC框架配合使用。Backbone.js(因为您特别标记了它)的模型和集合与REST服务一起工作。它们将通过GET/POST/PUT/DELETE动词进行通信,并在进行异步请求时最终与后端控制器通信。

在Backbone的情况下,它使用JSON而不是HTML进行通信。在Rails的情况下,这在控制器中非常容易处理。如果请求是HTML,则返回HTML视图。如果是JSON请求(*.json或Content-type),则控制器将返回数据的JSON表示形式。我假设在Django中实现同一控制器响应多个内容请求(HTML、XML、JSON等)与在Rails中一样容易。


谢谢。那是一个有帮助的回复。 - user926432

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接