我应该花精力实现 knockoutjs 还是研究 jQuery Data Link [关闭]

Posted

技术标签:

【中文标题】我应该花精力实现 knockoutjs 还是研究 jQuery Data Link [关闭]【英文标题】:Should i spend my effort implementing knockoutjs or look into jQuery Data Link [closed] 【发布时间】:2011-05-11 20:18:48 【问题描述】:

我最近在客户端 Web 开发中使用了 Steve Sanderson 的淘汰赛 js 库 http://knockoutjs.com/。我最近才发现微软为 jQuery 贡献了一个 Data Link 插件的代码,该插件似乎复制了我喜欢的淘汰赛。http://weblogs.asp.net/scottgu/archive/2010/10/04/jquery-templates-data-link-and-globalization-accepted-as-official-jquery-plugins.aspx https://github.com/jquery/jquery-datalink http://api.jquery.com/category/plugins/data-link/

我应该放弃我的淘汰代码并使用接受和扩展的 jQuery 吗?

【问题讨论】:

无论如何,Rick Strahl doesn't like Data Link much。就个人而言,我会尝试找时间使用两者编写一些代码,看看哪个最适合你。 Sod 定律规定,无论您采用哪种框架,明年都会被社区弃用/放弃/失宠。但还是让我们知道你的丰胸是为了什么! 【参考方案1】:

我个人会坚持使用 Knockout - 它已经是 been demonstrated to work quite well,它正在积极开发中,当您比较功能时,它会将数据链接从图表中剔除。简而言之,Knockout 似乎已经为黄金时段做好了准备,而数据链接似乎还没有完成。

(我通过让 Knockout 将下拉列表数据绑定到包含 5,000 个项目的数组来对 Knockout 进行压力测试,同时还计算数组中唯一项目的数量并将其添加到另一个数据绑定元素。我的计算和重新浏览器 chrome 的绘制比数据绑定和更新花费的时间要长得多。)

现在,话虽如此,我会密切关注数据链路,并且可能会继续使用它——如果它启动,它将是一个非常可行的替代方案。 (鉴于 jquery-tmpl 的成功,微软与 Jquery 合作的另一个主要部分。)

更好的to compare Knockout to 是documentcloud 的backbone。下周我正在研究骨干网,所以我目前没有任何好的建议,但我对underscore(他们的另一个项目)非常印象深刻,所以我肯定会建议将其作为替代方案。


4 年后的分数对于那些想知道的人

多年来,Knockout 已在各种项目的生产环境中使用,现在是第 3 版,并且围绕它拥有一个健康的生态系统。 jQuery.datalink 变为JSViews,仍处于测试阶段。

【讨论】:

【参考方案2】:

我一直在认真研究 Knockout,我发现它可靠且可扩展。一旦你进入这种心态,我认为这是我在浏览器中看到的最好的开发者体验。

【讨论】:

【参考方案3】:

请注意,jQuery 数据链接仅适用于表单元素。 Knockoutjs 可以处理很多其他类型的绑定,比如属性、css,非常有用。

【讨论】:

【参考方案4】:

ko 对于将 pubsub 模型转换为表单很有用。要使用小部件,必须编写自定义绑定。 ko 不直接支持 AJAX。

backbone 对于通过 RESTful JSON 进行模型持久性很有用。它支持模型/视图同步弱:通过JS模板模型->视图。通过小部件处理程序查看->模型,必须编码。

ko 和骨干网不直接支持验证。 (我不计算 bb 的 model.validate(),因为必须编写代码来验证每个属性。)他们没有数据类型的概念。 (extjs 模型具有类型和验证。不幸的是,我发现 extjs 不可靠且不一致(数据绑定已集成到网格中,但未集成到表单或属性表中;类型信息必须在网格列和表单字段中输入,尽管它是已经存在于模型上)。)

即使混合使用 ko、backbone 和 jquery 验证,也需要编写大量代码。

我发现的最高效的 UI 框架是 JSF2,因为它可以处理所有这些。不幸的是,在实践中它存在问题。

【讨论】:

以上是关于我应该花精力实现 knockoutjs 还是研究 jQuery Data Link [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

knockoutjs:值绑定独占还是点击事件?

KnockoutJS:我应该如何处理繁重的小部件初始化代码?

2019第44周六

knockoutjs 从一个函数中保存多个视图模型?

Keras和TensorFlow之争何时休?

使用 Asp.Net MVC 和 KnockoutJS 处理日期