Question

Je dois pouvoir exécuter des formulaires HTML hors connexion. Je veux dire qu'ils doivent travailler sans connexion directe au serveur Web.

Dans une application que j'ai écrite il y a plus de 5 ans, je l'ai fait en implémentant un gestionnaire de protocole personnalisé: lorsqu'un formulaire créé à l'initiative de l'utilisateur soumettait la requête HTTP résultante à un enregistrement local. Plus tard, lorsqu'une connexion au serveur devient disponible, un programme de synchronisation parcourt les demandes collectées et les envoie au serveur, collecte les réponses et les enregistre à nouveau localement pour une utilisation ultérieure.

C'était alors. Maintenant, un autre client m'a contacté avec une demande très similaire. Quelle technologie pensez-vous que je devrais utiliser aujourd'hui?

La prise en charge de HTML5 est encore très limitée. Google engrenages? Ou dois-je revenir en arrière et continuer à utiliser le gestionnaire de protocole et le synchroniseur personnalisé?

Était-ce utile?

La solution

Je dirais d'aller au HTML5. Tous les navigateurs ne le supportent pas; mais tout le sera. En attendant, je pense qu'il est préférable de dire "pour obtenir des fonctionnalités hors ligne, essayez un tel navigateur", au lieu de "s'il vous plaît télécharger cet énorme plugin avec beaucoup d'avertissements effrayants".

Également une simple démographie: HTML5 est dans quoi, 5% de tous les navigateurs? dix%? encore beaucoup plus que le 0% d'utilisateurs avec Gears déjà installé.

C'est vraiment dommage, merci à Google d'avoir poussé l'enveloppe avec Gears; mais dans la nature, le seul plugin généralement accepté est Flash. Heureusement, HTML5 est déjà presque là, avec presque les mêmes fonctionnalités.

Autres conseils

Google Gears est un très bon candidat. À titre d’exemple, Google vient d’annoncer que les utilisateurs seraient en mesure de joindre des fichiers à des e-mails en mode "hors connexion". Une autre méthode peut consister à stocker les données de formulaire postées dans un cookie. Lorsque l’utilisateur est en mesure de revenir en ligne, le serveur récupère le cookie et les données qu’il contient.

Des rumeurs courent que Google Gears n'est plus en développement. Lorsque vous examinez les fonctionnalités de Gears et le suivi des problèmes à l'adresse http://code.google.com/p/gears/issues/list?can=2&q=&sort=version&colspec=Version%20Milestone%20Oilner%20ID % 20Summary% 20Component pour le nouveau développement de Gears, seuls 3 éléments seront corrigés dans la version 0.6. En outre, selon cet article de Wikipedia ( http://en.wikipedia.org/wiki/Google_Gears), il semble que Google n’effectue aucun développement et que le projet open source n’ait pas beaucoup de vitesse non plus. Extrait de l'article, voici ceci:

"Fin novembre 2009, de nombreuses sources d'informations en ligne ont annoncé que Google allait migrer pour utiliser HTML 5 plutôt que Gears à l'avenir. Un porte-parole de Google a par la suite précisé que Google continuerait toutefois à aider Gears à ne pas casser les sites qui l'utilisent. "

En d’autres termes, Gears est obsolète. Utilisez HTML 5 à la place.

Dojo.Storage/ Dojo Offline , dispose d'un pont flash qui vous permet de stocker des données à l'aide de le magasin de données de flash. La limite est définie par l'utilisateur, mais commence à 5 Mo. Le composant de bibliothèque est une abstraction et prend également en charge HTML 5, les cookies et les engrenages.

De plus, les engrenages vous permettront de stocker des blobs binaires, si la mémoire est insuffisante.

Google Gears est mort: http://gearsblog.blogspot.com/2011 /03/stopping-gears.html

Votre meilleur choix est probablement une combinaison des normes HTML5 pour applicationCache et localStorage.

Cependant, applicationCache doit être utilisé avec parcimonie - c’est une vraie douleur. Cet article explique pourquoi et vous indique également comment utiliser une approche hybride d’applicationCache et de localStorage pour la visualisation hors connexion (et non la soumission) de pages:

http://www.alistapart.com/articles/application -cache-est-un-douchebag /

Voici un article avec un exemple de capture de données de formulaire dans localStorage, mais malheureusement, il ne fournit pas d'exemple de soumission de données hors connexion:

http: //miniapps.co.uk/blog/post/using-html5-localstorage-as-a-fallback-for-offline-form-submission

En outre, méfiez-vous de window.navigator.onLine pour détecter le statut hors connexion - il n'est pas implémenté de manière uniforme sur tous les navigateurs et il est probablement préférable que l'utilisateur vous dise explicitement s'il est déconnecté ou non.

- Tchad

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top