Javascript 除了数据绑定之外,backbone.js(或knockout.js)还有什么优势

Javascript 除了数据绑定之外,backbone.js(或knockout.js)还有什么优势,javascript,backbone.js,knockout.js,javascript-framework,javascript-databinding,Javascript,Backbone.js,Knockout.js,Javascript Framework,Javascript Databinding,我们在网站上使用的JavaScript代码库的结构非常好(如果有人感兴趣,请概述) 我一直在考虑将backbone.js(或knockout.js,用于某些功能)集成到我们的代码中——但经过仔细考虑后,我认为我不太关心数据绑定(我的应用程序不进行密集的clientserver数据交换,它更倾向于服务器->客户端->js数据管道),所以我并不在乎是否有动态数据绑定和同步 由于我对这些库不太熟悉,我担心如果选择不使用这些库,我会错过一些其他非常有用的功能。是吗?就个人而言,如果我正在构建一个完整的单

我们在网站上使用的JavaScript代码库的结构非常好(如果有人感兴趣,请概述)

我一直在考虑将backbone.js(或knockout.js,用于某些功能)集成到我们的代码中——但经过仔细考虑后,我认为我不太关心数据绑定(我的应用程序不进行密集的clientserver数据交换,它更倾向于服务器->客户端->js数据管道),所以我并不在乎是否有动态数据绑定和同步


由于我对这些库不太熟悉,我担心如果选择不使用这些库,我会错过一些其他非常有用的功能。是吗?

就个人而言,如果我正在构建一个完整的单页web应用程序,我会使用主干网。如果你的网站主要是HTML,但使用JS来实现一些次要的附加功能,我就不会担心了。主干网擅长处理客户端数据模型,并将更改绑定到这些模型以查看更新

就我个人而言,我使用了knockout,发现它对HTML中的数据绑定的依赖令人困惑。这件事对我来说不太管用。构建部分动态的网站可能更友好一些,因为很多逻辑都直接进入html视图层。你可能想听听最近对《击倒》创作者的播客采访,因为它可能会让你了解一些事情

在我的例子中,当用一些动态元素构建一个大型网站时,我坚持使用一些全局jQuery插件和特定于页面的JS模式。它可以很好地为特定页面添加简单内容


我不知道这个问题是否非常具体,所以这里有一个一般性的答案:)

我想首先指出,尽管声明性数据绑定是KnockoutJS的关键功能,但它不是核心主干框架的一部分。确实存在多个插件,如(和),它们在主干JS中提供了这样的功能

现在进入问题的主要方面——就数据绑定以外的优势而言,KnockoutJS并没有提供太多。然而,即使交互式数据绑定不是首要关注的问题,也应该明确地考虑使用BeBoeJeS。这样做的原因是主干网与客户端路由系统捆绑在一起,并提供了一种简洁但最少的方法来管理用javascript从服务器获取的数据


正如您所提到的,您的应用程序是数据驱动的,您在客户机中获取的数据可能不是一次性获取的,而是增量更新的。在这种情况下,拥有可观察的模型和集合可能会帮助您更好地管理应用程序内的数据依赖关系(以及保持任何窗口以同步可视化数据)。

knockout和backbone根本不太相似。查看这些视频,了解各种模式的详细分类。诚然,我担心这个问题过于简化了两者之间的差异。