19

我正在评估 Backbone.js 以在我的 Web 应用程序中保持数据和 UI 同步。然而,Backbone 的大部分价值似乎在于它对 RESTful 接口的使用。虽然我将来可能会添加服务器端备份,但我的主要用例涉及使用 HTML5 本地存储离线存储所有数据。

对于这样的用例,Backbone 是否矫枉过正?如果是这样,是否有更好的解决方案,仅专注于在数据更改时更新 UI,反之亦然?(我也在研究 Knockout 和 Javascript MVC。)

编辑:我现在也在研究Angular.jsjQuery Data Link

4

4 回答 4

28

Backbone.js 与本地存储一样适用于 RESTful 查询。

我是一个通过示例学习的人,所以这里有一些链接可以帮助您入门:

于 2011-01-29T13:53:12.657 回答
9

在过去的几周里,我评估了与您的情况接近的不同解决方案;作为一个在我个人空闲时间完成的项目,而不是一个优秀的 Javascript 程序员,我所需要的只是一些易于学习的东西,以避免从头开始。

毫不奇怪,我有相同的候选人:Backbone.js、Javascript MVC 和 Knockout.js。

Backbone.js 赢了:

  • 我不需要遵守约定或替换已经存在的内容
  • 我很容易破解它的代码库,以了解文档中不清楚的地方
  • 我已经成功地忽略了它的大量对我来说不感兴趣的功能
  • 它在繁忙的页面上提供了可接受的性能
  • 有用

Backbone.js 是轻量级的,相对来说没有魔法;您可能会使用其功能的一小部分,但它为开发您的解决方案提供了坚实的基础。

于 2011-01-29T21:00:29.690 回答
4

I know it's been a while but you may want to check out backbone-offline project on github: https://github.com/Ask11/backbone.offline

于 2012-07-19T03:48:33.903 回答
1

你也可以看看AFrameJS。我创建了一个简单的概念证明笔记应用程序使用 HTML5 WebSQL 规范离线工作,但也想创建一个使用 localStorage 的适配器。我个人的观点(我有偏见)是,从长远来看,使用任何类型的 MVC 库都会对您有所帮助 - Backbone、Knockout 和 AFrame 等库的价值在于它们能够减少认知负担开发人员通过执行良好的关注点分离。数据相关的功能驻留在模型中,显示数据驻留在视图中,并且胶水保存在控制器中。分离这三个概念一开始可能看起来很迂腐,但最终的结果是代码更容易开发、更容易测试、更容易维护和更容易重用。关于使用 AFrameJS 的基本教程可以在我的网站上找到:http ://www.shanetomlinson.com/2011/aframejs-tutorial-for-noobs/

于 2011-02-02T00:36:03.200 回答