最佳的IndexedDB包装器

42

我正在探索各种 IndexedDB 包装器的选项,并找到了以下几个选项:

  1. YDN
  2. JQuery IndexedDb 插件
  3. IDB Wrapper
  4. DB.js

但我无法确定哪一个是最好的?我想在离线 HTML5 应用程序中使用 IndexedDB 来持久化本地数据。期待你们的最佳回复!


6
没有所谓的“最佳工具”。只有最适合以特定方式解决特定问题的工具。 - Philipp
警告:我看到一个大的内存泄漏错误未被解决在linq2indexeddb中。http://linq2indexeddb.codeplex.com/workitem/23451 - jason
12
由于这个问题相当古老,但在谷歌搜索中仍然很常见,涉及indexedDB库,如果不提及www.dexie.org的Dexie.js,那么我就无法提供有用的信息。 - David Fahlander
2
如果你想使用IndexedDB、WebSQL或localStorage的包装器进行工作,那么你一定要查看:https://github.com/mozilla/localForage - Benny Code
看看JsStore吧。它提供类似SQL的API,运行在Web Worker中,您可以执行复杂的查询等等。它有良好的文档,并为每个API提供示例。链接 - http://jsstore.net/ - Ujjwal Kumar Gupta
显示剩余6条评论
1个回答

36
我编写了db.js库,因此可能有点偏见,但它的主要目标是:
  • 添加基于Promise的回调处理,而不是将事件连接到onsuccess等上
  • 添加一个简单且流畅的API,用于查询,依赖于方法链接,并最终看起来像JavaScript代码
  • 使用JavaScript对象定义数据库模式
  • 处理连接“池”
它并不意味着要花哨或解决任何真正复杂的实现问题,只是API问题(或我认为的API问题)。
另一方面,PouchDB是一个更复杂的解决方案,旨在解决在线和离线数据存储问题,因为它可以与CouchDB实例很好地同步。
以下是翻译的结果:

对我来说,无论是 jQuery IndexedDB 还是 IDBWrapper,它们看起来更像是提供 IndexedDB 编程接口的尝试,而不是成熟的尝试,特别是 jQuery IndexedDB,我不明白为什么需要 jQuery,因为你并没有使用 DOM。

最终,这里没有“正确”的答案,您最好尝试其中一个库,如果它不适合您,则转到下一个并继续尝试,直到找到最适合您项目的库为止。


db.js仍在开发吗?Github页面上的最后一次提交是2个月前。 - bigblind
6
@bigblind,简短的回答是是的,它目前满足了我所有的需求,所以我没有花时间猜测它不能解决的问题。 - Aaron Powell
更多的文档会更好,如果我有时间,我可以帮忙写文档,但我即将要参加考试。 - bigblind

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接