J'ai écrit une base de données HTML5 qui résume localStorage, indexedDB et WebSQL. En utilisant directement HTML5, mes options de base de données ressemblent à ceci:
Je souhaite étendre la taille maximale de la base de données à l'aide de PhoneGap ou de l'API Quota. D'après la documentation de PhoneGap, il semble que la écosphère de la base de données PhoneGap soit:
Il existe également les plugins PhoneGap SqlLite. iOS , Android , Windows Phone 8 +
QUESTION 1 - Ma compréhension de la base de données que PhoneGap utilisera est-elle exacte?
QUESTION 2 - Existe-t-il une documentation solide sur la quantité de données qu'une base de données PhoneGap d'un type donné stockera? * S'il s'agit d'une base de données PhoneGap et non de l'implémentation de la base de données des navigateurs.
QUESTION 3 - PhoneGap prévoit-il d'adhérer aux normes de stockage Web abandonnant ainsi WebSQL au profit de indexedDB? Si c'est le cas, serai-je toujours en mesure d'utiliser mon code WebSQL existant (via un polyfill PhoneGap intégré) une fois le passage à indexedDB effectué?
QUESTION 4 - Dans les situations où la taille de la base de données est limitée et ne peut pas être développée par PhoneGap ou l'API Quota, mais où l'accès au système de fichiers est disponible, est -il raisonnable de supposer que des données "supplémentaires" pourraient être stockées sur le système de fichiers de l'appareil ou sur une carte SD?
Ma compréhension de la base de données que PhoneGap utilisera est-elle exacte?
Oui, ça l'est. PhoneGap peut utiliser des bases de données LocalStorage, SessionStorage ou SQLite. Vous pouvez également utiliser PhoneGap pour vous connecter aux classes natives de l'appareil via un plug-in et transmettre les données de la classe native qu'il stockera ensuite sur l'appareil.
Existe-t-il une documentation solide sur la quantité de données qu'une base de données PhoneGap d'un type donné stockera? S'il s'agit d'une base de données PhoneGap et non de l'implémentation de la base de données des navigateurs.
PhoneGap a-t-il l'intention d'adhérer aux normes de stockage Web, abandonnant ainsi WebSQL au profit de indexedDB? Si c'est le cas, serai-je toujours en mesure d'utiliser mon code WebSQL existant (via un polyfill PhoneGap intégré) une fois le passage à indexedDB effectué?
WebSQL est progressivement obsolète. Son remplacement est IndexedDB ou SQLite. Cependant, la meilleure option pour vous est SQLite ou la base de données native (par exemple Core Data sur iOS)
Dans les situations où la taille de la base de données est limitée et ne peut pas être développée par PhoneGap ou l'API Quota, mais où l'accès au système de fichiers est disponible, est-il raisonnable de supposer que des données "supplémentaires" pourraient être stockées sur le système de fichiers de l'appareil ou sur une carte SD carte?
C'est définitivement possible.
J'ai ajouté une explication sur la façon de coder les bases de données SQLite et LocalStorage dans ma réponse .
J'ai pu exécuter un test sur une tablette Android 4.0.4. Il utilise WebSQL (une ancienne version de WebSQL qui ne prend même pas en charge db.changeVersion) et m'a permis de faire le plein l'intégralité du disque dur (12 Go avec ma base de données). Je ne connais pas les autres appareils ni le fonctionnement des cartes SD.
IndexedDB -
WebSQL -
SQLite -
Si vous voulez un tutoriel rapide sur SQLite
Stockage de la base de données SQLite en utilisant Android et Phonegap