6

如果我们已经在使用后端 MVC 框架(例如 Django 或 ROR),为什么还需要使用 JS MVC 框架(骨干)。我无法理解两个 MVC 框架的概念以及它们如何组合在一起。我认为所有前端相关的文件或逻辑(html、css、js)都在后端框架的视图组件下。有人可以用更简单的术语解释一下吗?

4

4 回答 4

9

Backbone 位于客户端[浏览器],以便快速交互和体验。通过这种方式,您可以利用通过websocketsLocalStorage进行的实时通信。

使用客户端 MVC [MVVM 更好,在 Backbone 的情况下] 意味着您只需从服务器提供一组 RESTful 资源[可以在许多其他上下文中重用],而不是完整的 HTML 生成堆栈。

也就是说,客户端 MVC 更接近于面向桌面/移动 UI 的 MVC 实现 [参见 Cocoa / iOS],而不是面向 Web 的 MVC [Symfony、Django、RoR ...]。

于 2012-12-12T11:18:39.623 回答
1

这主要是因为可扩展性,每个 MV* 框架都允许您制作模块化代码。为了给用户使用网站的高体验,JS代码和一些烟花是必要的。JavaScript 还提供了将后端从不必要的计算中解脱出来的可能性,并且由于这些简单的事实和当前制作的网站的规模(后端和前端的大量模块),这样的 MV* JavaScripts 框架被制作并变得越来越流行.

于 2012-12-12T11:17:18.863 回答
0

这些 JavaScript MVC 框架开始流行的原因之一似乎是为了给客户端 JavaScript 代码带来一些结构。近年来,JavaScript 在 Web 应用程序中的使用越来越多,因为它极大地增强了客户端体验,但是当你不断添加越来越多的内容时,它很快就会变成一堆乱七八糟的意大利面条代码。如果您曾经继承过一个包含大量 JavaScript 的 Web 应用程序,那么您就会知道可能需要很长时间来整理所有的回调、函数、DOM 操作等,这只是为了掌握应用程序的工作原理和绑在一起。它可能真的很乱。这些 JavaScript MVC 框架也有助于组织所有这些代码并带来结构,因此它不会失控。

于 2013-08-24T19:10:28.027 回答
0

你可能想看看这篇文章为什么使用 MVVM?

我一直在使用 MVVM,发现它对前端非常有用。渲染更快更流畅,并且视图模型绑定在客户端完成。

于 2012-12-12T11:14:58.873 回答