BackboneJS vs JavaScriptMVC vs KnockoutJS

时间:2011-03-01 01:13:57

标签: javascript backbone.js knockout.js javascriptmvc

我想将JavaScript框架用于复杂的Web应用程序。我一直在看Backbone.js,knockout.js和JavaScriptMVC。作为客户端JavaScript重型网络应用程序的新手,我不确定选择哪一个。每个人都有一个非常不同的方法来分离关注点。模型/视图/控制器与模型/视图/ ViewModel与模型/视图/集合。

你们觉得怎么样?决定因素是什么?哪一个最容易上手?你的经历是什么样的?

2 个答案:

答案 0 :(得分:17)

您可能会出错,尤其是在构建复杂的JavaScript用户界面时。如果您选择不使用任何一种,您可能会遇到很多难以调试的代码。我个人喜欢Backbone,但它们都是轻量级的,允许你自由使用模板语言(我使用JQuery模板)。我认为是什么让我选择Backbone是Knockout将其组件与你的html混合的方式:

<span data-bind="text: myItems().count"></span>

你可以避免使用Knockout上面的结构,但这足以让我走向Backbone。我还喜欢这样一个事实,即骨干对下划线和jquery都有依赖,这些已经在我的项目中使用过了。

答案 1 :(得分:8)

以HostDude的评论为基础 - 这是一个功能,而不是一个bug :)淘汰的一部分概念是你的Controller / Model和View之间有一层。这使我们可以将HTML模块化为包含数据映射的小组件。

所以是的JS绑定混合在一起,但它们没有混合到原始HTML中 - 而是将它们添加到微小的模块化Jquery模板中。通过在jQuery模板级别显式添加这些数据绑定,我们可以完全控制映射到什么内容 - 而不会干扰我们的底层应用程序数据模型:)我喜欢Knockout!