XUL : le client riche version Mozilla
Par netking,
mercredi 8 février 2006 à 22:55
::
Devzone
Lors de la conception de Firefox, les développeurs de la fondation Mozilla ont eu la bonne idée de créer toute l'interface du logiciel dans un langage créé pour l'occasion : XUL.
Basé sur XML et Javascript, il permet de réaliser très simplement des interfaces graphiques, en offrant une impressionante gamme de balises capables de repondre aux besoins les plus complexes. Associé à l'objet xmlHttpRequest (technologie Ajax), ce jeu de balises permet de construire des applications web dynamiques très proches d'une application compilée.
Proche d'Ajax dans sa définition et ses outils communs (Javascript, CSS, etc.), XUL s'en distingue cependant sur plusieurs aspects :
Alors qu'Ajax a une vocation de compatibilité universelle, XUL ne peut s'exécuter que dans le contexte des applications de la fondation Mozilla (Firefox, Thunderbird...). C'est un avantage en terme de portabilité, les applications mozilla étant multiplateformes, mais c'est un inconvénient en terme d'universalité puisque l'application web ne fonctionnera pas dans Internet Explorer. On utilisera donc XUL dans un contexte on l'on maîtrise le navigateur utilisé par les utilisateurs (cas typique d'un Intranet par exemple). A oublier pour les sites grand public.
L'autre différence réside dans la possibilité de réaliser de véritables applications de bureau en XUL, à travers le module XULrunner de la fondation Mozilla. XULrunner vous permet de créer un véritable exécutable qui embarque le moteur logiciel Gecko qui permet de faire tourner XUL. Le meilleur exemple étant bien entendu Firefox, dont toute l'interface utilisateur a été réalisée en XUL.
XUL est donc un langage dédié à la création d'interface utilisateurs de gestion et non à l'affichage d'informations, comme l'est Ajax. En gros, il sert à concevoir des logiciels, prêts à s'exécuter dans le navigateur ou indépendamment de celui-ci. Bloxor est un bon exemple d'application XUL en ligne (lire notre article à son sujet).
Le fonctionnement de base de XUL est extrêmement simple, en voici un exemple tout bête :
La lecture du code est limpide : les balises XUL s'utilisent exactement comme du HTML, mais en beaucoup plus puissant.
Vous l'aurez compris, XUL est idéal pour toutes les applications qui agissent sur de l'information formatée : finance, back office de sites web, applications de gestion... Mais attention, XUL ne s'occupe que de l'interface utilisateur. Il faudra derrière développer l'application en elle-même, que ce soit une application web basée sur php ou une application en C.
XUL est pour l'instant un langage unique, mais il devrait être rejoint par son équivalent Microsoft : XAML. Mais celui ci s'annonce, comme toujours, beaucoup plus soucieux de son intégration à Windows que du respect des technologies normatives que sont XML et CSS. En gros, XAML et XUL auront les mêmes avantages et inconvénients qu'Explorer et Firefox, mais seront incompatibles. La routine quoi...
Basé sur XML et Javascript, il permet de réaliser très simplement des interfaces graphiques, en offrant une impressionante gamme de balises capables de repondre aux besoins les plus complexes. Associé à l'objet xmlHttpRequest (technologie Ajax), ce jeu de balises permet de construire des applications web dynamiques très proches d'une application compilée.
Proche d'Ajax dans sa définition et ses outils communs (Javascript, CSS, etc.), XUL s'en distingue cependant sur plusieurs aspects :
Alors qu'Ajax a une vocation de compatibilité universelle, XUL ne peut s'exécuter que dans le contexte des applications de la fondation Mozilla (Firefox, Thunderbird...). C'est un avantage en terme de portabilité, les applications mozilla étant multiplateformes, mais c'est un inconvénient en terme d'universalité puisque l'application web ne fonctionnera pas dans Internet Explorer. On utilisera donc XUL dans un contexte on l'on maîtrise le navigateur utilisé par les utilisateurs (cas typique d'un Intranet par exemple). A oublier pour les sites grand public.
L'autre différence réside dans la possibilité de réaliser de véritables applications de bureau en XUL, à travers le module XULrunner de la fondation Mozilla. XULrunner vous permet de créer un véritable exécutable qui embarque le moteur logiciel Gecko qui permet de faire tourner XUL. Le meilleur exemple étant bien entendu Firefox, dont toute l'interface utilisateur a été réalisée en XUL.
XUL est donc un langage dédié à la création d'interface utilisateurs de gestion et non à l'affichage d'informations, comme l'est Ajax. En gros, il sert à concevoir des logiciels, prêts à s'exécuter dans le navigateur ou indépendamment de celui-ci. Bloxor est un bon exemple d'application XUL en ligne (lire notre article à son sujet).
Le fonctionnement de base de XUL est extrêmement simple, en voici un exemple tout bête :
<?xml version="1.0"?>Il vous suffit de copier ce code dans un fichier texte, de l'enregistrer avec l'extension .xml et de le mettre sur votre serveur pour obtenir ce résultat, si toutefois vous utilisez Firefox ou un navigateur basé sur Gecko.
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<window title="Ma première page en XUL"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<description><html:h1>Mon premier boutton XUL</html:h1></description>
<box align="center">
<button label="Cliquez-ici" oncommand="alert('Vive Web Interdit !');" />
</box>
</window>
La lecture du code est limpide : les balises XUL s'utilisent exactement comme du HTML, mais en beaucoup plus puissant.
Vous l'aurez compris, XUL est idéal pour toutes les applications qui agissent sur de l'information formatée : finance, back office de sites web, applications de gestion... Mais attention, XUL ne s'occupe que de l'interface utilisateur. Il faudra derrière développer l'application en elle-même, que ce soit une application web basée sur php ou une application en C.
XUL est pour l'instant un langage unique, mais il devrait être rejoint par son équivalent Microsoft : XAML. Mais celui ci s'annonce, comme toujours, beaucoup plus soucieux de son intégration à Windows que du respect des technologies normatives que sont XML et CSS. En gros, XAML et XUL auront les mêmes avantages et inconvénients qu'Explorer et Firefox, mais seront incompatibles. La routine quoi...













Tutoriaux WI
