Browser 是否建议在客户端使用Web SQL数据库进行存储

Browser 是否建议在客户端使用Web SQL数据库进行存储,browser,html,offlineapps,Browser,Html,Offlineapps,用例是在脱机时将应用程序存储数据放在客户端。 建议使用Web SQL数据库(Chrome和Safari支持,但不支持FF),还是等待浏览器实现索引数据库API?如果需要Firefox支持,那么显然不需要。看起来WebSQL即将退出,取而代之的是IndexedDB支持。Firefox和InternetExplorer没有支持WebSQL的计划,他们希望为Firefox4和IE9实现IndexedDB。Chrome正忙于实现它,我相信Opera和Safari也会效仿 目前所有支持HTML5的浏览器(

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

如果需要Firefox支持,那么显然不需要。

看起来WebSQL即将退出,取而代之的是IndexedDB支持。Firefox和InternetExplorer没有支持WebSQL的计划,他们希望为Firefox4和IE9实现IndexedDB。Chrome正忙于实现它,我相信Opera和Safari也会效仿


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

9个月后,这个问题被提出,Web SQL数据库“不再处于活动维护中,Web应用程序工作组不打算进一步维护它”:


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

这是一个较旧的线程,但我想投入2美分。到今天为止,我们正在使用现有的web DB API为Safari开发iOS web应用程序。我没有看到任何迹象表明Safari会在未来的版本中放弃这一点,但是由于这些应用程序必须在今天的iPad上使用,我们正在承担一个经过计算的风险,如果必要的话,我们将准备转向IndexedDB。

我认为在这样的用例中(在线和离线的混合),人们还需要考虑数据同步(在本地存储的离线工作的结果之间,以及大量的工作可能存储在服务器中,用于主流的在线案例)。显然,这两个选项都不能解决这一问题。

我正在寻找一种结构化存储,可能CouchDB是目前的选择。CouchDB不会在浏览器(AFAIK)中运行,它是一种在服务器上运行的数据库技术,因此不会与HTML5脱机存储一起使用。“看起来WebSQL即将退出,将被IndexedDB支持所取代。”真的是这样吗?我看过一些关于这个问题的讨论。。。但谷歌仅在1月25日才宣布支持Chrome Web SQL:……自Safari 3.1和iPhone OS 2.0以来,Safari一直支持Web SQL:Webkit浏览器(Chrome和Safari)支持WebSQL已有一段时间,并将在相当长的一段时间内继续支持WebSQL(一旦添加了某个内容,由于向后兼容性问题,删除它需要很长时间)。这样看,IE和Firefox都不会实现WebSql,而这两种浏览器是世界上市场份额最大的浏览器,因此有点排除了WebSql。一个临时解决方案可能是在您的web应用程序中同时使用Sql和IndexedDB代码,但这是一个非常临时的解决方案,包括Webkit浏览器(和Opera)最终将实现IndexedDB。因此,如果您的目标是移动互联网设备(智能手机),那么您可以使用web SQL,因为大多数平台都是WebKit或IE。我将“将JSON对象序列化到本地存储”目前的方法。一旦IndexedDB方法被所有主要的浏览器供应商实施,我肯定会重新考虑它。现在我发现这很有用:看起来IndexedDB现在在最新版本的浏览器中受支持,现在可能是时候试用它并分享一些经验了…@mella01 IndexedDB在当前的手机上不受支持浏览器。BlackBerry 10是个例外(当然!)。参考:在我们的例子中,我们构建了一个javascript框架,在用户在线登录系统时负责同步。我知道这有点晚了,但对于未来的项目,请尝试:SequelSphere(www.SequelSphere.com)。它是一个HTML5关系数据库引擎,支持SQL并将其数据存储在本地持久性中。它不使用WebSQL数据库,而是自己的SQL引擎。因此,它将在任何兼容JavaScript的浏览器中工作。虽然它目前只支持本地存储,但Sequesphere最终将支持其他本地持久性引擎如IndexedDB和文件API。完整披露:我与公司有关联。:)