Offrez un mode de fonctionnement hors ligne à votre application web

Le 21/04/2014

Dans Développement

Ne vous y trompez pas, nous ne parlons pas ici du slide de Foundation, mais d'une vraie library magique pour Javascript, mettant le travail hors ligne à disposition de votre application.

Les applications web actuelles, avec les possibilités toujours plus grandes que nous offre le HTML et le Javascript, sont de plus en plus puissante. Une chose, pourtant, les rend inférieurs aux applications bureau : le travail hors ligne. En effet, même s'il est maintenant possible d'avoir internet à peu près partout, les connexions instables ne sont pas non plus un mythe (surtout avec l'internet mobile). Et rien n'est plus frustrant que ne pas pouvoir utiliser une de ces applications quand on en a besoin, même si ce n'est que pour quelques minutes.

La solution pour passer les applications web au niveau supérieur serait une généralisation des modes hors-ligne, grace à des outils comme Offline.js et Orbit.js

Orbit.js, library essentiel de toute application Javascript

Orbit js librairie github

Comme son nom ne l'indique pas, Orbit.js est là pour vous aider à accéder à plusieurs sources de données (localstorage, base de données, mémoire…) et à les garder synchronisés, pour par exemple ajouter un mode hors ligne à votre application.

Pour cela, rien de plus simple : il suffit de définir le schéma des objets que l'on veut pouvoir sauvegarder (son modèle pour les adeptes des ORM) pouvoir sauvegarder (son model pour les adeptes des ORM), et d'ouvrir une ou plusieurs interfaces entre votre code et les sources souhaitées. Il ne reste plus ensuite qu'à déclarer des connexions entre les sources de données pour les garder synchronisées.

Pour reprendre notre exemple d'application hors ligne, il suffirait de garder un localstorage à jour tant qu'internet est disponible, travailler uniquement en localstorage en cas de perte de connexion (détecté avec Offline.js), puis resynchronisé le tout au retour de la connexion (Offline.js toujours pour la détection).

Offline.js à aussi la possibilité de vous servir d'ORM Javascript, si vous le souhaitez : après avoir créé votre schéma de données et définissez une source de données, il vous sera possible d'utiliser des methods comme find, remove, add, patch, …

Orbit.js, une bonne library

Pour avoir dû regarder comment implémenter ce genre de solutions sans Orbit.js, je peux vous assurer que cette library est une merveille et qu'elle fera gagner un temps fou à tous ceux qui en sont dans le besoin. Son approche simple et très claire la rend compréhensible du premier coup d'oeil, il n'y a donc aucune excuse pour ne pas l'utiliser !