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:
- 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?
- 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 )
- 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.
- Cómo enviar una cadena utilizando NFC desde un teléfono Windows 8 a un dispositivo Android
- Bluetooth LAN entre teléfonos inteligentes? ¿Conexiones telefónicas de uno a muchos?
- JQuery Mobile Windows teléfono 8 pie de página fijo
- HAXM de Android SDK desactivado después de instalar Hyper V
- Enviar URL desde Android a Windows Phone a través de NFC da enlace a Play Store
- ¿Escribir mensaje NDEF varias veces a la misma etiqueta?
- Realizar y supervisar llamadas telefónicas dentro de la brecha telefónica
- ¿Puede Windows Phone 8 y Android conectarse a través de Wifi Direct?
- Cuándo comprobar la conexión a Internet en aplicaciones móviles
- Cómo instalar .xap phonegap construir en Windows Phone 8?
- Un botón - 3 tiendas de aplicaciones - ¿cómo redirigir al usuario a la appstore adecuada?
- ¿La aplicación WPF XAML Browser (XBAP) funciona en los navegadores Android y Windows Phone? ¿Cuáles son las alternativas?
- Escribir etiquetas NFC para que funcione con Android y Windows Phone8
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:
- Android todo aplicación: https://bitbucket.org/ytkyaw/android-todo/wiki/Home
- Reposición del proyecto YDN-DB: https://bitbucket.org/ytkyaw/ydn-db/wiki/Home
- Documento del API: http://dev.yathit.com/api-reference/ydn-db/storage.html
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;)
- Mostrar el estado del último elemento de la lista en un ListView con ViewHolder
- ScrollView deshabilitar el movimiento de enfoque