phonegap - sqlite还是索引数据库?

时间:2013-01-31 11:18:36

标签: android iphone cordova windows-phone-8 web-sql

我是以phonegap开头的网站开发人员。我需要为iPhone,Android和Windows Phone 8创建一个应用程序 我需要在本地存储一些数据(对于localStorage来说太大)。
我不知道女士解决方案是最好的:

  1. Phonegap提供存储(基于WebSQL - 已弃用),但Windows Phone不支持。有填充这个空白的插件吗?
  2. 我读过有关索引数据库的内容,但我之前没有使用它,对我来说不是很直观。我不确定它是否在所有平台上都得到完全支持?我基于(http://blog.nparashuram.com/2012/10/indexeddb-example-on-cordova-phonegap_12.html
  3. 或者我可以使用phonegap插件https://github.com/marcucio/Cordova-WP-SqlitePlugin用于Windows Phone和https://github.com/marcucio/Cordova-SQLitePlugin for android and iphone.。然后我的代码在所有平台上都会像我想的那样相同。
  4. 之前有人创建过这样的应用吗?我会很高兴任何解决方案或想法。

5 个答案:

答案 0 :(得分:12)

Cordova WP8仅支持IndexedDB。仅限iOS和Android WebSql。由于WebSql已被弃用(我知道有多少人喜欢/使用它并同意在许多情况下WebSql非常酷)我建议继续使用IndexedDb并使用以下polyfill for Android / iOS。

PhoneGap polyfill for IndexedDB that makes the IndexedDB API to work with WebSQL

Example

答案 1 :(得分:3)

最新动态(2014年5月5日): New Cross Platform Cordova WebSQL plugin by MS Open Tech

Microsoft Open Technologies is publishing the new open source WebSQL plugin for Apache Cordova and PhoneGap. This plugin allows developers to integrate a persistent SQL-based local storage solution in their Cordova apps using the exact same JavaScript code across Android, iOS, Windows Phone and Windows Store.

答案 2 :(得分:3)

IndexedDB -

  • 它与许多类型的流行移动操作系统和版本
  • 不兼容
  • 它仅与非常特定的移动操作系统版本兼容
  • 开发人员不能将SQL与IndexedDB一起使用。 SQL语句可以在SQLite和WebSQL上使用
  • 大多数开发人员都尽可能地主动避免使用IndexedDB

WebSQL -

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

SQLite -

  • 它获得了Google的奖励
  • SQLite有其官方网站。 IndexedDB和WebSQL没有
  • 在Google上,SQLite会返回180万条结果。 WebSQL返回的结果少于700K,而IndexedDB返回的结果为282K。
  • 开发人员可以使用SQLite的常见SQL语句
  • 它与iOS和Android
  • 等所有popoular移动操作系统的大多数版本兼容

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

Storage of SQLite database using Android and Phonegap

答案 3 :(得分:3)

LocalForage 似乎是最好的和最新的解决方案: https://github.com/localForage/localForage(1000个提交,83个贡献者)

它没有支持导航器的后备。 我还没有尝试过(通过电话空白)但是我很快就会给你反馈意见;)

答案 4 :(得分:1)

如何使用我的开源库ydn-db?它有很好的抽象层。

编辑: