【问题标题】:Using Backbone.js for a static-content, JavaScript-heavy site?将 Backbone.js 用于静态内容、大量 JavaScript 的网站?
【发布时间】:2012-06-29 17:42:10
【问题描述】:

我正在为一个包含所有静态内容的客户端构建一个站点,这意味着它不是一个网络应用程序,因为它不会涉及任何用户交互和对站点本身数据的操作。

话虽如此,UI 相当复杂,最终肯定会非常依赖 JavaScript,所以我想使用 JS 框架。

我进行了大量研究,发现大量 Backbone.js 示例用于高度交互的 Web 应用程序,也具有广泛的 UI,但我想知道它是否也适合我的情况.考虑到我的 UI 要求,它似乎仍然会是这样,但我想知道其他人是否已经成功地在与我类似的实例中使用它。

如果不合适,还有其​​他建议吗?

【问题讨论】:

  • Backbone 的核心功能是在客户端管理数据模型,并在模型更改时使用视图和事件来维护 DOM。它不是真正的 UI 框架。您认为在静态网站上使用 Backbone 会有什么好处?
  • 我想我需要提供一些说明。所以内容是静态的,因为不会有任何用户通过网站本身操纵数据。这一切都将通过 CMS 进行管理。不过,它仍然基于不同的数据模型,而且后端肯定会建立在 MVC 框架上。我认为我可以从使用 Backbone 保持各种模型的前端 JavaScript 井井有条中受益,因为会有大量的 DOM 交互和操作。

标签: javascript static backbone.js web


【解决方案1】:

我最近使用出色的backbone boilerplate 编写了一个没有服务器端功能的单页网络应用程序。

不管有来自服务器的显式模型来管理同步,您仍然可以将该方法应用于 UI。例如,我最近一直在开发的一个应用程序具有一些非常复杂的功能/与图像的交互。使用 Backbone 对图像(带有一些元数据,如尺寸、标题等)进行建模非常有用,将它们保存在集合中并将模型/集合与我的 Backbone 视图相关联。它使 UI 逻辑非常易于维护、更新、重用和单元测试。

通过样板文件,您还可以获得出色的构建过程、linting 和一些用于单元测试的指针等。

【讨论】:

    【解决方案2】:

    如果您的网站不包含繁重的用户交互、DOM 更新和非回发重绘(即 Ajax + DOM 操作),而只是通过 CMS 管理的内容,则客户端 MV* 框架不是正确的工具。大多数 CMS(Drupal、Wordpress)已经在服务器端包含了预定义的结构以及诱人/主题化的方法,这些方法不一定与 Backbonejs、Angular 等提供的相匹配。简而言之:如果您的项目是一个 Web 应用程序,那么一个 MV* 前端框架是有意义的。如果它是一个内容网站,请使用与您选择的 CMS 提供的内容相关的其他方法。

    【讨论】:

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