2010-06-08 44 views
11

用例是在脱机时让应用程序在客户端存储数据。 建议使用Web SQL数据库(Chrome和Safari支持,不是FF),还是等待浏览器实现索引数据库API?是否建议在客户端使用Web SQL数据库进行存储

+0

我知道这有点晚,但对于未来的项目,请尝试:SequelSphere(www.sequelsphere.com)。 它是一个HTML5关系数据库引擎,它支持SQL并将其数据存储在本地持久性中。它不使用WebSQL数据库,而是使用它自己的SQL引擎。因此,它可以在任何符合JavaScript的浏览器中工作。虽然它目前仅支持本地存储,但SequelSphere最终还是会支持其他本地持久性引擎,如IndexedDB和File API。 完整披露:我与SequelSphere公司有关。 :) – 2012-11-07 13:35:16

回答

0

如果您需要Firefox支持,那么显然没有。

+0

因此,如果你的目标是移动互联网设备(智能手机),那么你可以使用网络SQL,因为大多数平台是WebKit或IE。 – Marc 2010-12-05 10:18:25

1

它看起来像WebSQL正在出路,被IndexedDB支持取代。 Firefox和Internet Explorer没有计划支持WebSQL,他们希望实现针对Firefox 4和IE9的IndexedDB。 Chrome正在忙于实现它,我相信Opera和Safari会跟风。

目前所有支持HTML5的浏览器(以及一些IE版本)都支持LocalStorage这是一个只能存储字符串的简单键/值数据库,因此如果您需要更多结构化的存储功能,您必须等到今年(约)为广泛的IndexedDB支持。

+0

我正在寻找一个结构化的存储,可能是CouchDB可能是现在的选择。 – rnella01 2010-06-10 13:44:40

+1

CouchDB不会在浏览器(AFAIK)中运行,它是一种在服务器上运行的数据库技术,因此它不适用于HTML5 Offline Storage。 – 2010-06-11 14:44:11

+0

“它看起来像WebSQL是在它的出路,被IndexedDB支持取代” 这是真的吗?我已经看到了一些有关该主题的讨论... http://sites.google.com/a/chromium.org/dev/developers/design-documents/indexeddb https://lists.webkit.org/ pipermail/webkit-dev/2010-January/011409.html ...但Google仅在1月25日宣布了Chrome Web SQL支持: http://blog.chromium.org/2010/01/more-resources-对于开发人员。html ... Safari自Safari 3.1和iPhone OS 2.0开始继续支持Web SQL: http://bit.ly/c7z1Pe – 2010-08-11 13:27:35

8

提出这个问题9个月后,Web SQL数据库“不再处于主动维护状态,Web应用程序工作组不打算进一步维护它”:http://en.wikipedia.org/wiki/Web_SQL_Database

如果你正在开发明年发布的解决方案(特别是移动版),那么IndexedDB是更好的选择。如果您现在需要覆盖(不包括Firefox),则可以使用Web SQL数据库或将JSON对象序列化到LocalStorage中。

+1

我现在把“将JSON对象序列化为LocalStorage”方法。一旦所有主要浏览器供应商都实施了IndexedDB方法,肯定会重新审视它。现在我发现这个很有用:http://goo.gl/kwaAU – rnella01 2011-01-27 17:05:57

2

这是一个较老的线程,但我想把我的2美分。截至今天,我们正在开发与现有的Web DB API的Safari的iOS Web应用程序。我还没有看到任何迹象表明Safari会在未来的版本中放弃这一点,但是由于这些应用必须今天在iPad上使用,我们正在计算风险,我们将准备转移到IndexedDB,如果/必要时。

+0

貌似现在在最新版本的浏览器中支持IndexedDB,现在可能是试验它并分享一些经验的时候了... – rnella01 2011-04-15 13:13:34

+0

@ mella01 indexeddb在当前的移动浏览器上不受支持。 (例外情况是黑莓10)。参考:http://caniuse.com/#search=indexeddb – oligofren 2013-08-06 08:04:33

1

我认为在这样的使用情况下(在线和离线混合使用),还需要考虑数据同步(在本地存储的脱机工作的结果与大概存储在服务器中的大量工作之间)主流在线案例)。显然,这两个选项都没有解决这个问题。

+0

在我们的情况下,我们建立了一个javascript框架,在用户在线登录系统时负责同步。 – rnella01 2011-04-28 13:01:08

相关问题