IndexedDB,4个月内的WebSQL

时间:2010-07-01 02:53:01

标签: sql database html5 local-storage

我遇到了一些问题,我即将启动一个需要离线支持的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。

你,我尊敬的同事推荐我做什么,我应该遵循什么样的路径?服用哪种药?

全部谢谢

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

另一个相对成熟的选择是Adobe Air。 http://www.adobe.com/products/air/

在此处使用http://balsamiq.com/http://www.tweetdeck.com/

的应用示例

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

答案 2 :(得分:0)

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

这对市场来说是新的,但应该有希望涵盖这类项目。它是一个HTML5关系数据库引擎,支持SQL并将其数据存储在本地存储中。它不使用WebSQL数据库,而是使用自己的SQL引擎。因此,它可以在任何JavaScript兼容的浏览器中工作(您的主要关注点之一)。但是,它目前仅支持本地存储作为持久性机制,因此大小可能是您的问题。我希望SequelSphere能够最终与其他本地持久性引擎相关联,例如齿轮和闪存,但这并不是立即可用的。

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