【问题标题】:why do we need backbone js or any JS MVC framework?为什么我们需要主干 js 或任何 JS MVC 框架?
【发布时间】:2012-11-30 01:50:22
【问题描述】:

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

【问题讨论】:

    标签: javascript model-view-controller backbone.js frameworks backend


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 所以在某种程度上,django 或 RoR 是否只能通过 JSON API 提供数据,对吗?因此,当用户第一次请求或访问网站时,所有渲染部分(模板、html、css 等)都被缓存并存储在本地,并且它们根据 url 更改布局(前端模板操作)(即另一个页面数据)请求。这是正确的吗?
      • 完全正确:)) 由于可访问性或 SEO 需求,您可能会结束从服务器渲染内容,但是是的,您明白了。
      • 感谢您澄清这一点。 :) 你能推荐一些我可以使用主干和 django 创建应用程序的好资源吗?我宁愿构建一些东西并学习,而不是通过教程。
      • 我不使用 django,但是here 你可以找到流行的 js MVC 框架的纲要,this 似乎是你需要的有用资源。
      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        你可能想看看这个帖子Why use MVVM?

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-10-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-21
          • 1970-01-01
          相关资源
          最近更新 更多