HTML5 SQLite vs Base de datos nativa en caso de PhoneGap

Estoy construyendo una aplicación PhoneGap para Android e iOS.

Quiero saber cuál es una mejor selección para la gestión de bases de datos: HTML5 de SQLite o base de datos nativa del dispositivo.

En caso de uso nativo, necesito construir un plugin para la interacción.

Por favor, sugerirme una mejor opción de acuerdo al rendimiento y la velocidad.

He probado con un POC que DB nativo de Android / iOS es demasiado más rápido que WebSQL (de HTML5), en el caso de una aplicación PhoneGap debemos usar un complemento para la base de datos nativa. En mi prueba; He ejecutado 999 insertar consulta en una aplicación PhoneGap con Plugin para el entorno nativo y los resultados son los siguientes:

En las consultas de Android son 558% más rápido en Emulator, 275% más rápido en hdc hdc y sorprendentemente 2327% más rápido para htc wildfire.

En iOS los resultados son sólo preguntas hilarantes son 2k + porcentaje más rápido en Simulator / iPhone 4 y 5600% más rápido en el iPhone 3GS.

El estándar de base de datos Web SQL ya no se está desarrollando. Probablemente será reemplazado por IndexedDB. Yo no confiaría en su existencia si yo fuera tú.

De la especificación :

Tener cuidado. Esta especificación ya no está en mantenimiento activo y el Grupo de Trabajo de Aplicaciones Web no tiene intención de mantenerlo más.

No sé acerca de la base de datos nativa, pero HTML5 WebSQL es muy lento en el iPhone cuando se utilizan tablas con cientos de filas, principalmente 3G, 4G es poco mejor. En Android no hay ningún problema para ejecutar consultas bastante agradables – pensamos que sería el mismo en el iPhone, pero tuvimos que dejar de usar WebSQL en nuestro proyecto y reescribir todo a JSON y muchas más funciones que tenía la funcionalidad de algunas consultas WebSQL simple.

Es una lástima que el soporte de WebSQL es oficialmente eliminado, pero actualmente, es compatible con Android y iPhone y es muy útil en algunos casos. Así que espero y creo que WebSQL se mantendrá "no oficialmente", pero todavía en Android y iPhone en el futuro.

En cuanto a su pregunta – mi experiencia me dice, que depende de su estructura de tablas, cómo las consultas son complejas y sobre todo – cuántas filas que tiene en las tablas. Si tienes decenas de filas, está bien usar WebSQL, pero si golpeas 100 o más filas en una tabla, será lento en el iPhone.

  • ¿Ordenar fechas en la base de datos sqlite?
  • ORMLite insertar o reemplazar
  • Android sqlite delete no elimina realmente las filas
  • Qt cómo conectar a un archivo SQLlite existente en el sistema operativo Android?
  • ¿Hay alguna manera eficiente de hacer la consulta de base de datos Android más rápido?
  • ¿Cómo puedo repetir el último comando sql ejecutado en la línea de comandos sqlite?
  • Excepción de la base de datos SQLite de Android - código 14 (no se puede abrir el archivo de base de datos)
  • DETALLES DE EXCEPCIÓN: java.lang.IllegalStateException: Proceso 3188 Cuota de cursor excedido 100, lo matará con Rom MIUI
  • Sqlite plugin para Eclipse: depurar la base de datos sqlite en el dispositivo Android en vivo
  • Recuperar una lista de todas las tablas de la base de datos
  • ¿Cómo insertar valores dobles y flotantes en sqlite?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.