2012-01-24 11 views
23

Estoy escribiendo una aplicación usando PhoneGap, y me es difícil encontrar la forma de almacenar mis datos en una base de datos. Por el momento solo quiero mantener la mente abierta ya que recomendaré opciones tecnológicas para nuestra compañía.Qué usar para el almacenamiento de la base de datos de PhoneGap

La API PhoneGap para el almacenamiento está aquí,

http://docs.phonegap.com/en/1.3.0/phonegap_storage_storage.md.html#Storage

Se basa en esta especificación HTML5,

http://www.w3.org/TR/webdatabase/

El problema para mí es que la especificación de esto no es manteniéndose más, y el estándar ha sido desaprobado.

El otro problema es que implementé una base de datos usando una base de datos web, y el control de versiones no funcionó correctamente.

Cuál es la postura PhoneGaps en esto y se PhoneGap mirar a otras tecnologías como la API de base de datos indexada,

http://www.w3.org/TR/IndexedDB/#database-concept

estoy almacenando datos JSON en el localStorage por el momento que está funcionando muy bien, pero yo Me pregunto si mi base de datos podría ser demasiado grande y podría no ser la mejor opción.

+2

[Phonegap-SQLitePlugin] (https://github.com/davibe/Phonegap-SQLitePlugin) – mda

Respuesta

19

Me enfrenté a un problema similar al desarrollar una aplicación hace unos meses en la que esperábamos transferir la aplicación a diferentes plataformas (con diferentes versiones). Entonces, en lugar de usar el mecanismo de almacenamiento central que ofrece Phonegap, seguimos usando un marco de almacenamiento dedicado que puede proporcionar una API uniforme pero que utiliza el mejor mecanismo de almacenamiento subyacente.

Existen varios frameworks JS que pueden ayudarlo a usar el almacenamiento subyacente. Los siguientes son algunos que pueden interesarle si planea usar la aplicación en diferentes plataformas.

PersistenceJS - persistencejs.org

lawnchair - http://westcoastlogic.com/lawnchair/

persistencejs utiliza engranajes y localStorage en combinación que ayuda a ejecutar la aplicación en los dispositivos BlackBerry 5.x, así sin ningún cambio.

Seguí usando el persistencejs y realmente ha funcionado bien hasta ahora. Hemos portado la aplicación en Android, iPhone, iPad, BlackBerry (5.xy mayor)

+1

¿Sigue utilizando este enfoque? ? ¿No hay un límite de 5 MB? ¿Cómo te las arreglas para eso? –

+1

@TheJonasPersson Aprendí de http://stackoverflow.com/a/8447296/2279260 que se podía aprovechar la API del archivo de paginación telefónica –

Cuestiones relacionadas