XUL - Présentation générale

Pascal Chevrel

Mozilla Europe

Bref historique

1998
Création du projet Mozilla par Netscape
2000
Netscape 6, première application XUL publique
2002
Mozilla Suite 1.0, première application XUL publique stable
2004-2006
Firefox, explosion des extensions XUL
2006/2007
Xulrunner

Pourquoi avoir inventé XUL ?

XUL répondait à deux besoins essentiels de Netscape

  1. Maintenir une application multiplateforme (à l'origine Windows, Mac, linux, OS/2)
  2. Créer une plateforme de développement attractive, facile d'accès
    cible : les centaines de milliers de développeurs web

XUL c'est quoi ?

XUL : XML-Based User Interface

-> décrire une interface utilisateur avec un langage XML à la syntaxe proche du HTML

Exemple :

 <?xml version="1.0"?>
 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
   <box>
      <button label="Cliquer ici" oncommand="alert('Bonjour le monde !');" />
   </box>
 </window>

bouton.xul

De nombreux éléments d'interface par défaut

Tableau périodique des éléments XUL

Les principaux langages liés à XUL

XUL
Description de l'interface
Javascript
Programmation de l'interface
CSS
Contrôle de l'apparence de l'interface
RDF
Format de stockage de données
XBL
Format XML de modification des balises XUL (changer comportement balise)
SVG
Format XML de graphiques vectoriels, natif dans Gecko 1.8
XPCOM
Composants C++

Extensions et XUL

  • XUL obtient une visibilité énorme grâce à l'explosion des extensions
    • 2000 : moins de 20 extensions connues
    • 2004 : une centaine d'extensions connues
    • 2006 : environ un millier d'extensions connues
  • Développer une extension en XUL suppose un moteur d'affichage sur le poste client
    • Firefox
    • Thunderbird
    • Mozilla Suite/Seamonkey
    • Nvu/Flock/Netscape 8
    • XULrunner : runtime indépendant

Applications XUL

  • Pas de différences techniques fondamentales avec le développement d'extensions
  • La plupart des applications XUL utilisent le toolkit de Firefox, NVU par exemple
  • L'avenir est Xulrunner, le runtime XUL distribuable et partageable par plusieurs applications
    (Firefox 3 utilisera Xulrunner)

2006-2007 ?

  • Firefox 2, nouveaux éléments XUL (datepicker, timepicker...) et nouveaux formats de stockage de données
  • Généralisation des applications Xulrunner, la prochaine version de Nvu (Mozilla Composer) sera basée sur Xulrunner ainsi que Firefox/Thunderbird 3
  • SVG trouvera probablement plus sa place dans les applis XUL que sur le web
  • De grosses applications XUL commencent à être déployées en intranet

Portails en français

XulFR.org
Communautés de développeurs en XUL
MDC
Le Mozilla Developer Center (équivalent MSDN)