离线访问 - SQLite还是索引数据库?

Tah*_*aha 24 sqlite html5 local-storage indexeddb

我正处于开发应用程序的研发阶段,具有以下关键要求:

  • HTML5 Web应用程序 - 也将具有混合版本
  • 当没有Internet连接时,表单数据将存储在本地

由于配额限制,我无法使用网络存储 - 我正在比较SQLiteIndexed DB.

  • SQLite似乎最适合,但它已被弃用
  • 索引数据库是一个不错的选择,但没有Safari支持 - 混合应用程序应该在未来的iPad和Android设备上运行.

我对API的选择很困惑.在Safari上是否还有其他SQLite替代方案或索引数据库支持?

Rob*_*low 14

我认为放弃IndexedDB会是一个坏主意,因为它可能是未来的格式,因此Safari可能会停止支持WebSQL.

似乎有各种JavaScript解决方案来弥合两者之间的差距 - 在用户的浏览器上可用的任何一个节省: JavaScript Library to Bridge IndexedDB和WebSQL 我认为这可能是你最好的解决方案.

  • 但要小心.虽然某些桌面浏览器不支持WebSQL,但与IndexedDB相比,它对移动设备有更好的支持.请访问caniuse.com了解更多详情. (10认同)

Ker*_*cks 14

首先,W3C弃用的是WebSQL而不是SQLite

IndexedDB -

  • 它与许多类型的移动操作系统不兼容,仅与某些类型的移动操作系统兼容
  • 开发人员不能将SQL与IndexedDB一起使用.他们可以使用SQLite和WebSQL
  • 大多数开发人员都尽可能地主动避免使用IndexedDB

WebSQL -

  • 它已被W3C弃用,这意味着它不再被维护或开发
  • 它需要另一个名为Polyfill的插件,以使移动应用程序能够与流行的移动操作系统(如Google Android和Apple iOS)配合使用

SQLite -

  • 它获得了Google的奖励
  • SQLite有其官方网站.IndexedDB和WebSQL没有
  • 在Google上,SQLite返回了430万条结果.WebSQL返回少于700K的结果,IndexedDB返回282K结果.

如果你想要一个关于SQLite的快速教程,

使用Android和Phonegap存储SQLite数据库


Kya*_*Tun 5

是的,IndexedDB API很棒,所有浏览器都会在不久的将来支持.

我绝对推荐我自己的解决方案https://bitbucket.org/ytkyaw/ydn-db它是IndexedDB非常薄的包装器,并回溯到Sqlite进行safari.