【问题标题】:IndexedDB, WebSQL in 4 Months4 个月内的 IndexedDB、WebSQL
【发布时间】:2011-03-10 10:44:22
【问题描述】:

我遇到了一点问题,我即将开始一个需要离线支持的 4-6 个月的项目。 AppCache 非常棒并且被接受为标准,但大型浏览器仍未决定使用 Opera、Safari 和 Chrome 选择 WebSQL (SQLite) 和 Mozilla 以及据称 IE 支持 IndexedDB 的数据库实现。

我知道 Chrome 将来还会开发 IndexedDB 选项,但我找不到任何关于发布日期等的信息。

现在,在 4 到 6 个月后,我们称之为 11 月。我希望有一个系统支持大多数(不一定是全部)最新版本的浏览器(假设 IE9 已经过时、FF4 和 Chrome 6)。我真的不想拥有 IndexedDB/websql 双重实现。使用 localStorage 作为一个又大又丑的 blob 数据库的想法让我不寒而栗,我不想使用 Gears。

尊敬的同事们建议我做什么,我应该走哪条路?吃什么药?

谢谢大家

圭多

【问题讨论】:

  • 一点更新,这个项目现在已经完成,我最终构建了我自己的抽象层,如下所示:1) IndexedDB 2) Web SQL 3) Gears DB(按回退顺序)。它类似于草坪椅,但更灵活一些。这实际上很简单,而且效果很好。如果我有范围,我也希望添加 Flash 存储后备选项。我不支持本地存储,因为它有 2.5MB 的限制(在我的场景中没用)
  • gatapia,你为社区发布了那个抽象层吗?
  • @Peder Rice,是的,实际上我有:here

标签: sql database html local-storage


【解决方案1】:

我确实会选择(a.o.)本地存储。今年早些时候,我写了一个关于这种离线网络应用程序的小型概念证明(cfr.this blogpostoffline-enabled webapp here),基本方法是:

  • 将数据放入数组/对象中
  • 使用标准 javascript 函数进行 CRUD(或使用 jlinq
  • json-ify 用于存储的数组/对象
  • 使用像persistjs这样的存储抽象库来存储/检索json-ified数组/对象

【讨论】:

  • 每次需要数据库更新时都必须编组到/从字符串/JSON 的想法真的很难看。对于非常小的数据库可能还可以,但是对于大型数据集,这将很快失败。但是我不喜欢这个,你可能是对的,这可能是最兼容的方法,我确信可以采取“分段”方法来提高性能,但是为什么 FireFox 必须让我的生活如此艰难!! !!!
  • 你说得对,这是一个丑陋的解决方案,但据我所知,目前没有真正的替代方案。一些杂项。 bits: * 反对 webdb 的不仅是 mozilla,ms 也不想实现 sqlite以及 * chromium-guys 正在研究 indexdb (chromium.org/developers/design-documents/indexeddb),所以假设它最终会出现在 chrome 中似乎是安全的(也许是 safari,因为很多工作都在 webkit 中)
【解决方案2】:

另一个比较成熟的选择是 Adob​​e Air。 http://www.adobe.com/products/air/

在此处http://balsamiq.com/ 和此处http://www.tweetdeck.com/ 使用它的应用示例

不,它不是基于标准的,但它确实为您描述的应用程序提供了开箱即用的最佳功能。

【讨论】:

    【解决方案3】:

    我知道这有点晚了,但对于未来的项目,您可以尝试SequelSphere

    它是市场上的新产品,但有望涵盖此类项目。它是一个 HTML5 关系数据库引擎,支持 SQL 并将其数据存储在本地存储中。它不使用 WebSQL 数据库,而是使用自己的 SQL 引擎。因此,它可以在任何兼容 JavaScript 的浏览器中运行(您主要关心的问题之一)。但是,它目前仅支持本地存储作为持久性机制,因此大小可能对您来说是个问题。我预计 SequelSphere 最终会与其他本地持久性引擎(例如 gear 和 flash)结合使用,但这并不是立即可用的。

    完整披露:我与 SequelSphere 公司有关。 :)

    【讨论】:

      猜你喜欢
      • 2012-04-19
      • 2011-09-01
      • 1970-01-01
      • 2014-09-10
      • 2017-05-21
      • 2014-03-15
      • 1970-01-01
      • 2018-03-07
      • 1970-01-01
      相关资源
      最近更新 更多