Xul

Un article de EoleWiki.

Sommaire

Carrotage XUL

Généralités

XUL sert à générer des interfaces graphiques pour applications web en utilisant le moteur de mozilla (gecko). Les interfaces sont définies dans des fichiers XML (à la glade). L'avantage est de pouvoir utiliser des widgets du style gtk dans les applis web (listes déroulantes, dialogues, vues arborescentes, boites avec onglets, ...).

liens utiles sur xulplanet : "tutoriel général" "tutoriel application" "apis xul et xpcom"

Scripting des actions

XUL utilise par défaut javascript pour gérer les évènements de l'interface. Il est aussi possible de créer des plugins en utilisant XPCOM (équivalent de MSCOM de mozilla), et différents bindings sont possibles avec d'autres langages.

La plupart des projets pour interfacer XUL et python sont en cours de développement, avec un avancement assez variable selon les cas:

- Un support python est en préparation dans le projet XUL et devrait sortir en 2006.

- Gestion à travers nevow et livepage (cf exemples dans nevow). Il faut toujours définir des fonctions javascript dans le fichier xul, mais on peut accéder aux données coté nevow par l'intermédiaire de livepage.

- bibliothèque nufox (version 0.1-alpha-alpha actuellement)

Divers

Il existe d'autres projets similaires à XUL/Mozilla comme LUXOR. LUXOR fournit - un serveur web allegé

              - un système de portail web
              - un langage de templates XML (Apache Velocity plus XSL/T)
              - un langage de scripting (interpréteur python)

ce projet est actuellement en version 1.0beta9


exemples d'applications LUXOR.