Google Gears

Gears est un plug-in pour navigateurs permettant de faire fonctionner les applications Web hors connexion. Google le met en ligne le 31 mai 2007, sous licence libre et open source, d'abord sous le nom de Google Gears, puis le renomme Gears.
Il fonctionne sur Internet Explorer, Firefox, Chrome, Safari, Opera et sur les principaux systèmes d'exploitation actuels.

C'est le centre d'intérêt principal sur ce site, les applications Web doivent fonctionner aussi localement, parce que la connexion n'est pas toujours possible ou souhaitable, ou que les applications sont trop lentes, et d'un autre coté, parce qu'il est préférable pour le programmeur de ne pas avoir à choisir entre l'environnement local ou le Web.
Google Gears apporte une pierre à l'édifice de ces applications universelles.

On peut par exemple lire les messages de Gmail sans être connecté à Internet ou utiliser Google Reader de la même façon.

Gears est composé de trois modules JavaScript:
- LocalServer (Serveur local). Il met en mémoire tampon les ressources et les restitue au besoin.
- DataBase (Base de données). Enregistre les données localement dans une base SQLite.
- WorkerPool (Groupe d'agents). Rend les applications plus rapides en délivrant les ressources de façon asynchrone (donc est une extension d'Ajax).

Google a décidé de se tourner vers HTML 5 pour les applications hors ligne, aussi est-il hautement recommandé d'utiliser HTML 5 pour les nouveaux développements à long terme. Pour un usage immédiat et portable, Gear demeure la solution.

La bataille des plug-ins

Google le décrit ainsi: "Gears is an incremental improvement to the web as it is today. It adds just enough to AJAX to make current web applications work offline". Traduction: Gears est une amélioration incrémentale au Web tel qu'il est actuellement. Il ajoute juste assez à Ajax pour que les applications Web actuelles puisse fonctionner hors ligne.

C'est le résultat d'une collaboration avec Mozilla, Adobe et Opera, pour créer une fonctionnalité qui a été également développé par Mozilla pour Firefox 3. Ce sera plus général et fonctionnera avec toutes interfaces, donc avec Flash et concurrencera directement Silverlight.
Ainsi on voit que l'annonce par Microsoft de Silverlight basé sur XAML, projet très ambitieux qui pourrait étendre au Web la suprématie de Windows, fait réagir la concurrence. Adobe qui avait déjà décidé de mettre sa technologie concurrente Flex en open source, se joint à Google en partageant le code de son environnement Apollo.
Ainsi Google pourrait même concurrencer Microsoft sur son terrain, dans le domaine du logiciel de bureau.

Les possibilités de Google Gears

Le plug-in va incorporer SQLite, un gestionnaire de bases de données pour un stockage local, ainsi les applications disposeront-elles des données sans connexion au réseau.
Il permettra à des applications déjà écrites et fonctionnant sur le Web de devenir des applications de bureau.
Et d'un autre coté, les applications locales pourront être étendues avec les possibilités du Web, tel que les moteurs de recherche qui collecteront en ligne des données pour les utiliser hors ligne.

Le runtime Gears ne démarre qu'en ligne. Même si on veut utiliser le navigateur comme plateforme et que l'on définit une application pour fonctionner localement, il faut la mettre en ligne et l'afficher sur un site Internet la première fois, pour l'utiliser hors ligne ensuite.
Le système convient donc surtout à un service fournis par un site Web, il serait téléchargé comme un logiciel, et pourrait fonctionner sur le bureau sans connexion au site jusqu'à la mise à jour.

Comment cela fonctionne en pratique

Avant d'entrer en mode hors ligne, le navigateur, doté de l'extension, vous demande votre autorisation.
Puis les ressources utilisées par l'application sont stockées dans une mémoire tampon, où elles pourront être retrouvées sans connexion, quand aux données, elles sont enregistrées dans un fichier SQLite.
Pour entrer en mode hors ligne, on clique sur un bouton, et cela démarre la sauvegarde des données et ressources.
On aura donc à se connecter de temps en temps, pour récupérer les données provenant du Web.

Gears et les autres

Gears apparaît dans un contexte de progrès ou les mêmes innovations sont apportées par plusieurs produits au même moments. Ainsi on peut le rapprocher des outils suivants:
- Chromeless de Mozilla. Permet de lancer les applications web depuis le bureau (mais en mode connecté).
- Air de Adobe. Cet environnement pour applications Internet riches dispose d'un mode offline.

HTML 5 prévoit le fonctionnement hors ligne mais son implémentation dépendra des navigateurs. Google soutient totalement HTML 5 et considère Gears comme un moyen provisoire.

Gears est fourni sous licence BSD.
Le framework Dojo se trouve dépassé mais intègre maintenant Gears.
Silverlight ne l'est pas mais Gears est plus portable. AIR de Adobe, (ex Apollo) va incorporer Gears pour les applications Flash.