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:

Diagramme de fonctionnement de 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:

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.