javascript - 使用 JavaScript MV* 框架的原因?

标签 javascript backbone.js knockout.js

<分区>

我有一个电子商务网站,它有一点 JavaScript 密集型(价格、品牌等的条件过滤。AJAX 调用等)。 我的网站上有很多杂乱无章的 JavaScript/jQuery 代码( View 不是独立的、没有可重用性等),我们正计划重写代码。

为了解决这个问题,我遇到了KnockoutJS,并进一步研究了Backbone.jsAngularJSEmber。 js

我查看了大多数流行的网站,如 SO、GitHub、Amazon、Ebay 等,似乎这些网站都没有使用这些框架。

我似乎无法弄清楚使用这些框架的用例。维基百科页面表明这些是为单页应用程序设计的。

  1. 为传统电子商务网站实现上述内容是否值得?
  2. 使用上述框架有什么缺点吗?
  3. 许多热门网站不使用它们是否有原因?

最佳答案

这些框架旨在通过创建单页应用程序使您的代码更易于维护并改善用户体验,在此类应用程序中,导航更加流畅,因为如果您想了解更多信息,所有内容都是通过 AJAX 加载的你可以从http://en.wikipedia.org/wiki/Single-page_application开始.

这种应用程序的另一个优点是,您将需要一个 HTTP API 作为从前端到数据访问层 (DAL) 的访问点。当您拥有 HTTP API 时,您的 DAL 100% 独立于数据表示层,这意味着将来您将能够重新使用它来创建其他应用程序,例如移动应用程序,您甚至可以使用 phone gap 等工具如果您采用这种方法,则自动为您生成移动应用程序。

通过使用 http://deployd.com/ 等工具,您还可以节省大量自动生成 HTTP API 的时间。 .所以我们可以说遵循这种方法提供了更好的用户体验,开发速度更快,维护和测试更容易,这就是它如此受欢迎的原因。谷歌 (angular.js) 和推特 (https://github.com/twitter/flight) 等大公司正在使用它,但他们只是创建了自己的一个。

如果您觉得决定使用什么框架很复杂,请查看 http://todomvc.com/它们在每个可用框架中都提供了相同的示例(一个 TODO 应用程序),因此您可以选择更喜欢的一个。

希望对您有所帮助:)

关于javascript - 使用 JavaScript MV* 框架的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16520532/

相关文章:

javascript - Flask 如何返回成功的请求?

javascript - 来自终端的 npm install 错误

javascript - 在 Jasmine + Backbone 的 WebStorm 中运行 jsTestDriver

knockout.js - 为什么 Knockout.js 的默认相等比较器将非原始类型视为不相等?

javascript - 推迟或暂停评估 knockout 中的依赖关系,直到 View 模型完全更新(例如使用映射插件)

javascript - 在 "for"循环中填充多维数组 (javascript)

javascript - 需要用图像替换 innerText 以表示圆点和十字

javascript - javascript中嵌套数组和引用的副本

javascript - 匀场后如何从我的模块引用 PreloadJS?

javascript - 在 knockout.js 中更改可观察但不通知订阅者