XUL, langage de création d'interfaces graphiques
XUL est un langage d'interface utilisateur graphique dérivé de XML, pour les applications. Il est portable, fonctionnant sur tous les systèmes d'exploitation avec le runtime Gecko, ou XULRunner, mais difficile à mettre en oeuvre.
XUL signifie "XML-based User interface Language", donc langage d'interface utilisateur basé sur XML et a été créé par Mozilla en 1999.
XUL semblait destiné à devenir un langage universel pour décrire les interfaces graphique. Mais Microsoft lui a opposé sa propre version, XAML. En outre les développeurs n'ont jamais cherché à partager le développement avec des outils tiers, ce qui a abouti à une pléthore de langages d'interfaces utilisateurs basés sur XML. Finalement, HTML 5 grâce à canvas, les balises multimedia, et les frameworks capables d'étendre HTML avec de nouvelles balises, s'est imposé comme une alternative valide.
En 2014, XUL semble confiné à Firefox et aux outils de Mozilla, le runtime XULRunner pour créer des interfaces d'applications avec ce langage n'est plus maintenu et les développeurs songent à l'abandonner complètement ou plus précisément, à utiliser Firefox comme backend d'une application à la place.
A l'inverse, XAML de Microsoft est plus que jamais pertinent sur Windows et sur Mono.
En 2023 XUL a été complètement supprimé de l'interface de Firefox qui utilise maintenant les même composants pour son interface que ceux des pages Web, donc à base de CSS.
Voici une représentation graphique des composants faisant fonctionner XUL:
Basé sur les standards du Web, mais complexe
L'utilisation de RDF, de XBL et de XPCom notamment en font un outil difficile à maitriser. XUL se caractérise par:
- Le code XML est interprété.
- Du code JavaScript est intégré dans le source XUL pour programmer le comportement de l'interface.
- Utilise des graphismes bitmap.
- Les évènements (comme un clic de souris) sont des propriétés des balises et les balises sont des éléments de l'interface.
- Les propriétés de style sont définies par les feuilles de style au format CSS standard.
- Les éléments (principalement les "widgets", les composantes graphiques) peuvent être définis par l'utilisateur avec du code XBL ou XPF.
- Le format RDF est utilisé pour enregistrer le contenu textuel, par exemple les libellés dans différentes langues.
- XPCom interface XUL avec des bibliothèques écrites dans différents langages de programmation.
- Il est possible d'intégrer du code HTML dans le code XUL et donc exécuter localement sur XULRunner une application Web.
Exemples de code...
Afficher: "Salut le Monde!":
<?xml version="1.0"> <windows width="600 height="480"> <description> Salut le Monde! </description> </windows>
Dessiner un bouton:
<button label="Fermer" oncommand="window.close()" />
Pour utiliser XUL, commencez par télécharger le runtime XULRunner. Contre toutes attentes, de nouvelles versions sont apparues en janvier et février 2014.
Vous trouverez une documentation sur Mozilla.
Electron est une alternative à XULRunner pour construire des application locales basées sur JavaScript avec XML et CSS pour l'interface.
Voir aussi XAML, la version Microsoft de XUL pour Windows 8 ou la section HTML 5 sur ce site.