14

我有一点问题,我即将开始一个需要离线支持的 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。

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

谢谢大家

圭多

4

3 回答 3

3

我确实会选择(ao)本地存储。今年早些时候,我写了一个关于这种离线网络应用程序的小型概念证明(参见这篇博文和此处启用离线的网络应用程序),基本方法是;

  • 将数据放入数组/对象中
  • 使用标准的 javascript 函数来做 CRUD(或者去jlinq
  • json-ify 用于存储的数组/对象
  • 使用像persistjs这样的存储抽象库来存储/检索 json-ified 数组/对象
于 2010-07-01T10:48:04.727 回答
2

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

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

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

于 2010-09-15T00:01:26.927 回答
0

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

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

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

于 2012-10-04T17:35:23.233 回答