GWT" base de données "(côté client)
Je cherche quelque chose comme une base de données pour les objets GWT (dans le navigateur). Il doit fonctionner sans HTML5 ou Gears (ou tout plugins de navigateur). Il ne doit pas être capable de tout ce qu'une base de données peut faire, mais les fonctionnalités les plus importantes seraient
- indexation automatisée, sur plusieurs colonnes
- une sorte D'API ou de langage pour effectuer (un sous-ensemble limité de) requêtes
, Il pourrait être un peu similaire à Tire DB, mais doit ont indexation automatisée, et devrait fournir une API GWT. J'espère, il serait encore plus petit en taille de téléchargement que Taffy, s'il réutilise le code de la bibliothèque GWT.
(peut-être que je devrais ajouter, que je n'ai pas besoin de stockage permanent. C'est ok, si les données doivent être rechargées / régénérées lorsque l'utilisateur frappe reload.)
6 réponses
XBSDB semble être une bonne bibliothèque pour la base de données côté client plus solution d'indexation .
Vous pouvez jeter un oeil à itemscript, il a une "base de données" en mémoire que vous pouvez interroger en utilisant des fragments D'URL de type REST. Je ne l'ai pas essayé, mais il semble prometteur. Je dois être d'accord avec tdavies que si vous aimez Taffy, écrire jsni wrapper autour d'elle est une tâche assez triviale.
Il y a quelque temps, j'ai créé un système simple de type base de données en mémoire dans GWT, où j'ai exploité l'interface de comparateur existante pour le tri, créé une interface de filtre simple et une requête simple utilisée pour stocker nombre de Comparateurs et de Filtres. Classe ModelManager Générique simple qui stockait des objets de modèle dans l'une des classes de collection et exécutait mes requêtes. Cela a plutôt bien fonctionné même sans aucun support pour l'indexation.
Vous ne trouverez aucune solution existante pour votre problème, j'ai passé énormément de temps à en chercher un. En dehors de cela, pourquoi ne pas essayer HTML5?
Avez-vous regardé le magasin de données de Dojo?
Je ne suis pas sûr à quel point cela correspond à vos besoins spécifiques, mais c'est une solution JavaScript pure. Comme beaucoup de Dojo, la documentation peut être un peu difficile à trier, mais il y a un article sur l'utilisation de Dojo Grid et du modèle MVC de base sur developerWorks qui peut vous intéresser.
Http://www.ibm.com/developerworks/web/library/wa-aj-dojogrid/index.html
Acclamations.
Avez-vous regardé SQLite? Voici un tutoriel vidéo pratique...
Je vous suggère de reconsidérer votre conception, les navigateurs ne sont pas les plus réactifs des applications sur une bonne journée pour diverses raisons. En plus de cela, la conception de l'intégration d'une base de données dans la session du navigateur (peu importe la luminosité) impose une demande explicite au client léger. Le client léger peut ou non avoir les ressources nécessaires pour répondre aux besoins.
Si vous avez un contrôle explicite sur les clients légers (environnement d'entreprise?) il serait préférable de tirer parti de certains bureau technologies ou applets (java?) en dehors du contexte immédiat du navigateur.
J'ai écrit une petite bibliothèque pour faire du stockage côté client dans GWT. Il est basé sur le stockage local et fonctionne sur tous les navigateurs HTML5 (y compris les navigateurs de téléphones intelligents). Il permet de stocker des données dans des magasins d'objets et bases de données.
Vous pouvez le vérifier ici, et voir si elle répond à vos besoins: https://code.google.com/p/gwt-localstorage-db/