XUL
est un technologie issue du projet Open Source Mozilla, qui pourrait
bien révolutionner la manière de construire des interfaces
graphiques sur le Web. XUL est l'acronyme de XML-based User-interface
Langage (Langage d'interface utilisateur basé sur XML),
et se prononce "Zoule". Comme son nom l'indique, c'est
un langage spécialisé dans la conception d'interfaces
pour applications, et parce qu'il est basé sur XML, il fonctionne
sur n'importe quel système - plus précisément,
il peut être facilement porté vers une autre plate-forme.
Les caractéristiques de XUL sont nombreuses, et
les avantages du cross-platform évidents : en plus
de reconnaître directement l'ensemble des autres langages
XML, comme SVG, SMIL ou MathML, XUL dispose d'une vaste bibliothèque
d'éléments standards (boutons, onglets, événements)
et peut parfaitement intégrer des feuilles de style pour
modifier l'apparence d'une application. Pour simplifier, on pourrait
dire que XUL est la combinaison de XML et HTML pour la structure,
de CSS pour le format, du DOM pour la gestion des événements,
et de JavaScript en tant que "lieur".
Créé pour les besoins du projet Mozilla,
XUL se répand petit à petit dans le monde du développement,
avec déjà de nombreuses applications permettant par
exemple d'utiliser
XUL dans une application Java, ou simplement de construire des
applications
complètes, en ligne ou non, ou des jeux.
Aidé d'un système de script, XUL pourrait fort
bien se présenter comme étant une des solutions les
plus standards lors de la création d'applications Web
(face à l'aspect assez propriétaires de Flash et à
la relative lenteur de Java).
Notamment, XUL se distance de Swing/JFC
ou WinForms
en séparant l'interface utilisateur en 4 "briques"
: le contenu (la structure et les éléments de l'interface),
l'apparence, le comportement et les informations de localisation.
Accessoirement, rien n'empêche de créer des interfaces
Swing, AWT ou WinForms en partant de XUL...
La
pratique
Chaque fichier .xul décrit
une fenêtre qui contient divers éléments, la
forme la plus basique d'un tel fichier étant comme suite
:
(fichier vide.xul)
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="main-window" title="Fenetre principale"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
</window>
Un fichier XUL ne peut contenir qu'un seul élément
window, l'ensemble de l'interface
de la fenêtre étant défini entre les balises
de cet élément racine. XUL peut être déclaré
avec un de ces trois espaces de nom :
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
Le premier est susceptible de changer lorsque XUL deviendra un
véritable standard (il fait pour l'heure surtout référence
au film "SOS Fantômes"...).
Pour l'interface
elle-même, elle est définie au sein du fichier XUL
à l'aide de balises bien définies. Voici un petit
exemple non fonctionnel, mais qui vous permet de voir la manière
dont est construite une interface XUL :
<window title="Youpla"
width="150px" height="30px" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<menubar>
<menu label="Fichier">
<menupopup>
<menuitem label="Fermer"
oncommand=="window.close();"/>
</menupopup>
</menu>
<menu label="?">
<menupopup>
<menuitem label="A
propos" oncommand=="about();" />
</menupopup>
</menu>
</menubar>
<box>
<button label="A propos" oncommand=="about();"
/>
<button label="Fermer" oncommand=="window.close();"
/>
</box>
</window>
Dans un prochain
article, nous construirons une petite application XUL.
|