这个使用场景是当客户端离线时希望应用程序能够存储数据。现在的问题是,是否建议使用Web SQL数据库(Chrome和Safari支持但是Firefox不支持),还是等待浏览器实现Indexed Database API?
这个使用场景是当客户端离线时希望应用程序能够存储数据。现在的问题是,是否建议使用Web SQL数据库(Chrome和Safari支持但是Firefox不支持),还是等待浏览器实现Indexed Database API?
9个月后,这个问题被提出,“Web SQL数据库已经不再进行积极维护,Web应用程序工作组也不打算进一步维护它”:http://en.wikipedia.org/wiki/Web_SQL_Database。
如果你正在开发明年发布的解决方案(尤其是移动解决方案),则IndexedDB是更好的选择。如果你需要现在就有覆盖范围(除Firefox之外),那么你可以使用Web SQL Database或将JSON对象序列化到LocalStorage中。
这是一个旧的帖子,但我想发表我的看法。截至今天,我们正在使用现有的Web DB API为Safari开发iOS Web应用程序。我还没有看到任何迹象表明Safari将在未来版本中放弃它,但由于这些应用程序必须在iPad上使用,所以我们正在冒着一定风险,如果必要的话,我们将准备好转移到IndexedDB。
看起来WebSQL即将被IndexedDB所取代。Firefox和Internet Explorer没有计划支持WebSQL,他们想要在Firefox 4和IE9中实现IndexedDB。Chrome正在忙于实现它,我相信Opera和Safari也会效仿。
目前,所有支持HTML5的浏览器(以及一些IE版本)都支持LocalStorage
,这是一个简单的键/值数据库,只能存储字符串,因此,如果您需要更多结构化的存储功能,您将不得不等到今年年底(大约)才能获得广泛的IndexedDB支持。
我认为在这种情况下(在线和离线混合),人们需要考虑数据同步(在本地存储的离线工作成果与主流在线情况下预计存储在服务器上的大量工作之间)。显然,两个选项都没有解决这个问题。