【发布时间】:2013-03-29 16:24:09
【问题描述】:
我编写了一个 HTML5 数据库,它抽象了 localStorage、indexedDB 和 WebSQL。直接使用 HTML5,我的数据库选项如下所示:
- IE10 - 索引数据库 - 最大 1GB
- FireFox - indexedDB - 无限制
- Safari - WebSQL - 最大 50MB
- Chrome - IndexedDB(或 Web SQL) - 无限制(使用 HTML5 Quota API ref1, ref2)
- Opera - WebSQL(直到他们切换到 webkit?) - 无限制
我想使用 PhoneGap 或 Quota API 扩展最大数据库大小。从 PhoneGap 的文档看来,当前的 PhoneGap database ecosphere 是:
- WebSQL - Android、Blackberry、iPhone 和 webOS
- localStorage - Windows Phone 7
- indexedDB - Windows Phone 8,我猜,到处都有 indexedDB,但 WebSQL 不可用。
还有PhoneGap SqlLite 插件。 iOS、Android、Windows Phone 8+
问题 1 - 我对 PhoneGap 将使用什么数据库的理解准确吗?
问题 2 - 是否有可靠的文档说明给定类型的 PhoneGap 数据库将存储多少数据? *如果是 PhoneGap 数据库而不是浏览器数据库实现。
问题 3 - PhoneGap 是否有计划坚持 Web Storage standards 从而放弃 WebSQL 以支持 indexedDB?如果是这样,一旦切换到 indexedDB,我是否仍然可以使用现有的 WebSQL 代码(通过内置的 PhoneGap-polyfill)?
问题 4 - 在数据库大小有限且无法通过 PhoneGap 或配额 API 扩展但可以访问文件系统的情况下,假设“额外”是否合理?数据可以存储在设备的文件系统或 SD 卡上吗?
【问题讨论】:
-
你的html5数据库抽象是开源的吗?链接?
-
我希望是因为我认为我在这方面做得很好并且想炫耀它,但事实并非如此。它很难维护,因为随着浏览器越来越接近实现标准,代码中断或某些浏览器需要使用不同的功能序列。除非您有人可以照看它,否则我不建议您尝试构建它。