Phonegap:WebSql还是SqLite?

Mal*_*vos 13 database sqlite web-sql cordova

我一直在使用phonegap很少的时间,而且我在使用存储概念方面遇到了一些麻烦.

因此,文档说明您可以打开这个数据库,它是一个SQLite实现."window.openDatabase返回一个新的Database对象.

此方法将创建一个新的SQL Lite数据库并返回一个Database对象.使用数据库对象来操作数据." http://docs.phonegap.com/en/2.2.0/cordova_storage_storage.md.html#Database 我现在正在webApp上使用它:

var myBuggedDb = window.openDatabase(shortName, version, displayName,maxSize);
Run Code Online (Sandbox Code Playgroud)

它就像一个魅力.我可以使用它来进行查询,从选择到删除.一切都好,对吗?但是当我检查和调试我的代码时,我看到创建的是一个WebSql数据库.我还咨询了很多博客,维基和其他地方,以获得有关该主题的更多信息.很多人都认为两种技术都搞得一团糟.Phonegap插件页面甚至没有sqlite插件.

现在,我们将更改我们的应用程序,以便从localStorage获取JSON对象并转换它.我想将它插入我们的数据库.但现在我很困惑,我不知道这是webSql还是SQLite.有人可以澄清吗?它会在设备上作为SQLite或WebSql工作吗?

编辑:如果您将来正在寻找这个问题,请谨慎行事:技术变化很大,indexedDB支持正在增长,还有许多其他选项,如Lawchair等.在使用任何东西之前做一点研究!

var*_*run 7

HTML 5具有数据库的这种实现,并且通过将Sql Lite数据库嵌入到浏览器中来完成实现.

浏览器就像chrome和Safari一样,实现了使用sqlLite实现的Html5数据库,这些数据库被称为websql但是当我联系时,Mozilla没有实现Websql而是实现了Indexed DB.

我认为更好的选择是使用Backbone.js或Lawnchair,虽然它们内部都使用websql,但API包含了一切.

希望这可以帮助.


Ank*_*nna 7

我建议使用WebSQL.的详细原因是如下所述:

让我们继续考虑使用PhoneGap进行的3个主要平台:

  • IOS:WebSQL - 支持的 SQLite - 部分支持
  • Android: WebSQL - 支持的 SQLite - 完全支持
  • Windows:WebSQL - 不支持 SQLite - 不支持

所以理想情况下就是这样 - 你有一个Windows,你可以在其上包装一个WebSQL插件[ 不可靠 ],你可以在其上包装一个SQLite插件[ 高度不可靠 ].

因此 - 现在是你的电话.即使你正在制作phonegap应用程序,他们也意味着快速,并且创建一个堆叠层而不是另一个堆栈肯定会使它变慢.

  • WebSQL已被弃用.http://programmers.stackexchange.com/questions/220254/why-is-web-sql-database-deprecated (3认同)