Phonegap – sqlite o DB indexado?

Soy desarrollador web que comienza con phonegap. Necesito crear una aplicación para iPhone, Android y Windows Phone 8.
Necesito almacenar algunos datos (demasiado grandes para localStorage) localmente.
No sé la solución bruja es la mejor:

  1. Phonegap proporciona almacenamiento (basado en WebSQL, que está obsoleto), pero no es compatible con Windows Phone. ¿Hay algún plugin para llenar este vacío?
  2. He leído acerca de DB indexado, pero no lo he utilizado antes y no es muy intuitivo para mí. No estoy seguro de si es totalmente compatible con todas las plataformas? Yo basado en ( http://blog.nparashuram.com/2012/10/indexeddb-example-on-cordova-phonegap_12.html )
  3. O tal vez puedo usar plugins de phonegap https://github.com/marcucio/Cordova-WP-SqlitePlugin para windows phone y https://github.com/marcucio/Cordova-SQLitePlugin para android y iphone. . Entonces mi código sería el mismo en todas las plataformas como supongo.

¿Alguien creó tal aplicación antes? Yo sería greatful para cualquier solución o ideas.

Cordova WP8 sólo admite IndexedDB. IOS y Android WebSql solamente. Dado que WebSql está obsoleto (sé cuánta gente lo ama y lo usa y estoy de acuerdo en que en muchas situaciones WebSql es muy cool) recomendaría proceder con IndexedDb y usar el siguiente polyfill para Android / iOS.

PolyFill de PhoneGap para IndexedDB que hace que la API de IndexedDB funcione con WebSQL

Ejemplo

IndexedDB –

  • Es incompatible con muchos tipos de sistemas operativos móviles populares y versiones
  • Sólo es compatible con versiones muy específicas del sistema operativo móvil
  • Los desarrolladores no pueden utilizar SQL con IndexedDB. Las sentencias SQL se pueden utilizar en SQLite y WebSQL
  • La mayoría de los desarrolladores evitan activamente utilizar IndexedDB tanto como pueden

WebSQL –

  • Ha sido desaprobado por W3C, lo que significa que ya no se mantiene o desarrolla
  • Requiere otro complemento para permitir que las aplicaciones móviles funcionen con sistemas operativos móviles populares como Google Android y Apple iOS

SQLite –

  • Recibió un premio de Google
  • SQLite tiene su sitio web oficial. IndexedDB y WebSQL no
  • En Google, SQLite devuelve 1,8 millones de resultados. WebSQL devuelve un poco menos de 700K resultados y IndexedDB devuelve 282K resultados.
  • El desarrollador puede usar sentencias SQL comunes con SQLite
  • Es compatible con la mayoría de las versiones de todos los móviles POPoular OS como iOS y Android

Si quieres un tutorial rápido en SQLite

Almacenamiento de bases de datos SQLite con Android y Phonegap

Última actualización (05 de mayo de 2014): Nueva plataforma Cross Cordova WebSQL plugin de MS Open Tech

Microsoft Open Technologies is publishing the new open source plugin Microsoft Open Technologies is publishing the new open source WebSQL 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. 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.

¿Qué tal usar mi biblioteca de código abierto, ydn-db? Tiene capa de abstracción muy agradable encima de ésos.

Editar:

LocalForage parece ser la mejor y más nueva solución: http://mozilla.github.io/localForage/

Tiene fallbacks para ningunos navegadores apoyados. No lo he probado todavía (sobre la brecha telefónica) pero tan pronto lo hago le daré la regeneración;)

  • Aplicación iOS / android nativa para Windows Phone
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.