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 via 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 pour cela du HTML, CSS et javascript 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 très simplistes.
Vous pouvez en javascript interroger des services web SOAP, XML-RPC ou autre grâce à l'objet xmlHttpRequest. Grâce à cela, mettez à jour une partie de votre interface (une liste déroulante etc...) sans avoir à recharger la page en entier. C'est ce qu'on appelle aujourd'hui faire de l'Ajax.
Certains composants graphiques (tels un tableau, une liste, un arbre..) contiennent des données. Plutôt que de les modifier à la main avec une technique comme Ajax, utilisez les templates XUL associées à 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 alors automatiquement les balises XUL indiquées dans le template, à partir des données issue du fichier 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 des 2 langages permet de faire 2 choses distinctes :
Bref, il convient de distinguer site web (informations) et applications web (gérer quelque chose, réaliser 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'interopérabilité : pour un site internet, qui donc par nature sera visité par une multitude de personne possédant chacune un navigateur différent, on n'utilisera pas XUL.
Par contre, on pourra utiliser XUL sans problème dans les cas suivants :
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.