Comme on peut le découvrir dans Mozilla Firefox, XUL et toutes les technologies disponibles dans XPFE sont destinées à créer des applications locales. On peut installer ces applications d'un simple clic, si leur paquet XPI est disponible sur une page web.
Mais on peut aussi réaliser des applications distantes, des applications web, sans rien à avoir à installer sur le poste utilisateur.
Si vous avez l'habitude de faire des applications web traditionnelles, vous savez qu'on utilise du HTML, CSS et javascript côté client (pour les pages web), et un langage quelconque (PHP, ASP, JSP) coté serveur (pour les traitements).
Remplacez HTML par du XUL, et vous voilà avec des applications web beaucoup plus conviviales et ergonomiques que ce que peut offrir HTML avec ses balises de formulaires simplistes.
Vous pouvez, en javascript, interroger des services web SOAP, XML-RPC ou autres grâce à l'objet xmlHttpRequest. Grâce à cela, vous pouvez mettre à jour une partie de votre interface (une liste déroulante etc.) sans avoir à recharger la page. C'est ce qu'on appelle aujourd'hui faire de l'Ajax.
Certains composants graphiques (tels que les tableaux, les listes, les arbres…) contiennent des données. Plutôt que de les modifier « à la main » avec une technique comme Ajax, utilisez les modèles XUL (templates) associés à une source de données en RDF. Une source de données RDF étant simplement un fichier au format RDF, distant ou local. Gecko génèrera automatiquement les balises XUL insérées dans le modèle (le template), à partir des données extraites du fichier — ou même des fichiers — RDF.
Imaginez alors que ces sources de données en RDF stockées sur votre serveur web, ne soient pas que de simples fichiers XML statiques, mais des fichiers XML générés dynamiquement par du PHP ( voir ApplisWeb/GenererUnFichierXul ou ApplisWeb/ExemplePhpRdf ) ou autre langage de script : vous voilà avec une application web riche, légère, dynamique, tout en évitant la complexité des techniques comme Ajax.
Une chose importante : XUL n'est pas fait pour remplacer partout HTML. Chacun de ces langages permet de faire des choses distinctes :
Bref, il convient de distinguer site web (informations) et applications web (gérer quelque chose, accomplir une ou plusieurs tâches ou traitements).
Il faut utiliser la technologie la plus appropriée à ce que l'on veut faire.
Bien que depuis longtemps, on fasse des applications web avec HTML, il arrive bien souvent que HTML nous limite trop et nous empêche de réaliser facilement une interface utilisateur pourtant triviale dans d'autres langages. Exemple : un arbre d'exploration, comme on a dans l'explorateur windows, pour afficher la liste des répertoires et sous répertoires (un tree view). En HTML, c'est particulièrement compliqué, lourd, avec des dizaines de lignes de code en javascript, souvent incompatibles entre navigateurs. En XUL, quelques balises suffisent.
N'oubliez pas non plus l'inter-opérabilité : pour un site internet, qui par nature sera visité par une multitude de personne possédant chacune un navigateur différent, on n'utilisera pas XUL.
En revanche, on pourra utiliser XUL sans problème dans les cas suivant :
Pour en savoir plus sur l'utilisation de XUL dans les applications web, lisez le chapitre ApplisWeb.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.