9

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

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

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

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

  1. 是否值得为传统电子商务网站实施上述努力?
  2. 使用上述任何框架有什么缺点吗?
  3. 有很多流行网站不使用它们的原因吗?
4

2 回答 2

10

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

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

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

如果您发现决定使用哪个框架很复杂,请查看http://todomvc.com/他们在每个可用框架中提供了相同的示例(TODO 应用程序),以便您可以选择您更喜欢的一个。

希望能帮助到你 :)

于 2013-05-13T11:30:24.703 回答
3

我作为 javascript 开发人员为一些更大的公司工作。我们有大约 30 个网络项目。但是我们为 javascript 使用任何 MV*。

1) 我认为只有少数 javascript 开发人员才值得。最好有一组小部件并重用该集合中的小部件。在我们的例子中,每个小部件都是一个对象。Javascript 主要是视图,为什么要把它分成更多的部分呢?

2)主要的缺点是您尝试使用太大的锤子,因此会延长开发时间。过滤、搜索、排序、ajax 和其他东西是非常常见和简单的问题。这些不需要 MV* 模式。

3) 超国家组织负担得起。您也可以在一些 webGL 项目(游戏)和类似的东西中找到它。其他人不需要它。

也不要忘记“过早的优化是万恶之源”。好的框架和清晰的代码可以在未来帮助你,但也可以在现在阻止你!

于 2013-05-13T12:07:12.653 回答