Dre*_*rew 20 javascript javascriptmvc backbone.js knockout.js
我想将JavaScript框架用于复杂的Web应用程序.我一直在看Backbone.js,knockout.js和JavaScriptMVC.作为客户端JavaScript重型网络应用程序的新手,我不确定选择哪一个.每个人都有一个非常不同的方法来分离关注点.模型/视图/控制器与模型/视图/ ViewModel与模型/视图/集合.
你们有什么感想?决定因素是什么?哪一个最容易上手?你的经历是什么样的?
Ale*_*Gad 17
你不可能出错,特别是如果你正在构建一个复杂的JavaScript用户界面.如果您选择不使用任何一种,您可能会遇到很多难以调试的代码.我个人喜欢Backbone,但它们都是轻量级的,允许你自由使用模板语言(我使用JQuery模板).我认为是什么让我选择Backbone是Knockout将其组件与你的html混合的方式:
<span data-bind="text: myItems().count"></span>
Run Code Online (Sandbox Code Playgroud)
您可以避免使用Knockout上面的结构,但这足以让我走向Backbone.我还喜欢这样一个事实,即骨干网对我的项目中已经使用的下划线和jquery都有依赖性.
以HostDude的评论为基础 - 这是一个功能,而不是一个bug :)淘汰的一部分概念是你的Controller/Model和View之间有一层.这使我们可以将HTML模块化为包含数据映射的小组件.
所以是的,JS绑定混合在一起,但它们没有混合到原始HTML中 - 而是将它们添加到微小的模块化Jquery模板中.通过在jQuery模板级别显式添加这些数据绑定,我们可以完全控制映射到什么内容 - 而不会干扰我们的底层应用程序数据模型:)我喜欢Knockout!