我什么时候应该在JavaScript中使用MVC框架?

dan*_*jar 11 javascript model-view-controller web-applications libraries backbone.js

我知道这个主题可能会变得主观,因此它与我正在处理的特定Web应用程序无关.

对于JavaScript,我没有使用像Backbone.js这样的MVC库,但我看到了解耦逻辑和视图的优势.另一方面,学习框架并调整应用程序以利用它可能不值得花时间.此外,处理JavaScript中的所有视图使得SEO变得更加困难,我想.

那么我应该如何决定在给定Web应用程序概念的情况下使用Backbone.js或类似框架是否合理?决定取决于什么?

任何有助于使问题更客观的帮助都是值得欢迎的.

mar*_*ber 8

有许多客户端javascript MVC(或MV*)框架.大多数人似乎对MVC是什么以及它应该如何与您的Web应用程序一起工作有不同的想法.

如果客户端javascript的复杂性变得难以管理,您应该考虑MV*框架.如果您有一个团队构建一个高度动态的单页面应用程序(SPA),它与后端进行大量异步通信,那么您将需要考虑它.否则很容易得到非常混乱的JavaScript代码.

MV*框架将通过以下一种或多种方式为您提供帮助:

  • 通过定义代码的结构.这取决于框架的主观程度,在不同程度上完成.例如,Backbone认为自己是一个库而不是一个框架,因此将更多的决策留给了用户
  • 通过将html绑定到模型.因此,如果您的数据发生更改,页面将自动更新(反之亦然)
  • 通过提供有用的功能,如URL历史记录(用于单页面应用程序)和验证


Ris*_*hal 7

我认为这取决于你的项目.这是一个清单,可以帮助您决定是否应该使用前端MV*框架.

  • 很多ajax请求后端
  • 您的许多功能不需要完整页面重新加载.喜欢添加评论,分页或无限滚动.
  • 您在后端有模型/ REST API.您可以在前端复制/使用相同的结构.
  • 您正在跨不同页面共享逻辑/ dom操作函数.

如果我找到更多积分,我会添加更多.这就是我现在能想到的,这不是一个完整的清单.欢迎任何建议.