Le XUL, j’y crois (oui, tout est possible !). Je crois surtout que c’est un langage de programmation qui va révolutionner les prochaines années en terme de développement logiciel (même si les prochaines années risques fort d’être mauvaises pour de tels logiciels, pour à l’inverse favoriser tous les services-en-lignes).
D’abord, c’est quoi le XUL ? Wikipédia nous répond :
XUL, pour XML-based User interface Language, est un langage de description d’interfaces graphiques fondé sur XML créé dans le cadre du projet Mozilla. XUL se prononce zoul en anglais (pour rimer avec cool, mais aussi en hommage au demi-dieu Zoul dans le film S.O.S. Fantômes).
Caractéristiques
XUL comprend un ensemble de balises permettant de définir des boutons, des listes, des menus, ou encore des zones d’édition, bref tous les éléments d’une véritable interface utilisateur. Un tel langage facilite le travail du développeur et permet d’écrire l’interface d’une application aussi aisément qu’une page web.
Le développement d’une application XUL se rapproche du développement d’une application cliente ou client-serveur traditionnelle. À chaque objet graphique sont associés des événements (clic de souris, double-clic, etc) pour lesquels le développeur doit écrire du code (typiquement en Javascript) à exécuter par la machine cliente. L’application peut récupérer des données d’un serveur, par exemple via des requêtes HTTP.
Le fait de définir dans un document XML la structure de l’interface graphique permet de réutiliser la même structure d’un environnement à l’autre et même d’un langage de programmation à l’autre. Des moteurs similaires à XUL existent pour Java, PHP, Javascript et .Net.
L’une des grandes richesses de XUL est son extensibilité, et la facilité de réutilisation d’éléments. Il est possible de définir ses propres balises pour mettre en place des composants complexes et réutilisables en écrivant un fichier XBL (eXtensible Binding Language). Celui-ci comporte, pour chaque nouveau composant qu’il décrit, une partie décrivant l’aspect graphique du composant, par association des éléments graphiques de base par exemple, et plusieurs parties décrivant son comportement, sous la forme de fonctions JavaScript. Les bindings ainsi définis peuvent hériter les uns des autres, et surcharger leurs contenus ou comportements.
Initialement, XUL a été développé afin de permettre de créer facilement l’interface graphique du navigateur web Mozilla. Un moteur XUL est intégré au moteur Gecko de Mozilla. Actuellement, Mozilla développe XULRunner, qui permet d’exécuter des applications XUL sans Mozilla ou Firefox.
Organisation d’une fenêtre
Une fenêtre XUL est conçue comme un emboîtement de « boîtes » rectangulaires. Une boîte contient des sous-éléments qui sont juxtaposés soit verticalement, soit horizontalement. Ces sous-éléments peuvent être des champs de type texte, des listes déroulantes, des champs affichant du code HTML, et ainsi de suite. Ces sous-éléments peuvent aussi être des boîtes, qui elles-mêmes contiendront d’autres éléments. À l’intérieur de chaque boîte, divers paramètres permettent de paramétrer facilement l’alignement des sous-éléments (à gauche, en haut, centré…) ainsi que leur comportement en cas de redimensionnement de la fenêtre (taille fixe, taille proportionnelle…).
L’affichage de tous ces éléments graphiques peut être configuré en utilisant une feuille de style CSS, ce qui facilite l’accès à XUL pour les développeurs web.
Quels outils faut-il utiliser pour développer une interface XUL ?
Plusieurs outils sont nécéssaires. Notamment, un Environnement de Développement et un Runtime.
Quel IDE utiliser pour programmer en XUL ?
Le plus simple d’utilisation est le projet open source Xul Dev (hébergé sur Sourceforge). C’est un environnement de développement (IDE) comme Eclipse, pour créer visuellement des interfaces graphiques XUL et construire des logiciels.
Un plugin pour Eclipse est actuellement en développement, il s’appelle Xul Booster.
Quel runtime utiliser ?
Le runtime a utiliser est XULRunner. Il est requis pour faire tourner et afficher des applications XUL.
Afin de l’installer, lire les instructions d’installation.
Existe-t-il des tutoriels pour apprendre le XUL ?
Bien sûr ! En voici une petite liste :
- Tutoriel XUL. Démarrer en XUL avec un manuel pédagogique.
- Exemples. (Anglais).
- XUL Reference. Liste des éléments.
- Construire une extension.
Cette page a été produite à partir du site Xul.fr