Histoire
XUL a été défini pour construire l'interface utilisateur de Mozilla, navigateur open source.Le nom vient d'une créature du film Ghostbuster.
XUL se prononce "zool".
But de XUL
XUL fournit à l'interface utilisateur les bases pour une application portable. De même que DHTML a été créé pour l'interface des pages web, XUL l'est pour les applications.En quoi consiste XUL?
XUL décrit un contenu avec un comportement, puis une présentation pour ce contenu, et ensuite on peut localiser l'interface pour la langue d'un pays.Les composantes de chaque niveau sont les suivants:
- niveau contenu: XUL, XBL, JavaScript,
- comportement: gestion des évènements,
- présentation: CSS, images,
- local: DTD, fichiers de propriétés.
Le modèle à objets peut être appliqué à plusieurs niveaux.
Les composantes de XUL
RDF
RDF signifie: Resource Description Framework (Cadre de description des ressources).Il permet de créer des fichiers XML qui reprennent la structure des composants qui les utilisent.
On peut alors, dans XUL, créer une liste structurée à partir d'un fichier en décrivant un seul élément.
XBL
XBL signifie: eXtensible Binding Language.Son but est de modifier les balises XML de XUL, ou les remplacer par d'autres. Donc de changer l'interface d'une application.
Le langage définit les éléments XML pour les widgets, évènements, propriétés, méthodes.
XTF
eXtensible Tag Framework (cadre extensible de balises) remplace XBL dans les nouvelles versions de gecko et donc XUL et permet de définir plus directement de nouveaux éléments XML. (Firefox 1.5).Les éléments xtf peuvent être écrits en C.
Overlay
Le but est de fractionner un GUI en plus petits composants réutilisables.C'est aussi le mécanisme d'ajout de composants à une application XUL. Overlay est un ensemble de fichiers XUL utilisé pour décrire le contenu de l'interface et l'adapter aux préférences de l'utilisateur.
L'AOM
L' Application Object Model est à XUL ce que le Document Object Model est à une page HTML. DOM décrit les pages web, et AOM décrit les applications. AOM permet de manipuler les objets (widgets) écrits en XML pour construire l'interface graphique.XPCom
(Cross Platform Component Object Model) Il a pour but l'utilisation de code natif par une application XUL, et améliorer les performances. La partie JavaScript de l'interface XUL peut ainsi être réécrite en C et compilée.Cela fournit un système de logiciel modulaire. Un composant XPCom peut être écrit en tout langage et utilisé par un programme écrit en tout langage.
XPConnect
Il a pour but l'utilisation de librairies binaires avec XUL.C'est une interface permettant à JavaScript d'utiliser les fichiers XPCom. Les objets JavaScript peuvent utiliser les objets binaires définie à travers XPCom et inversement.
XPInstall
Il a pour but l'installation d'application XUL à partir d'Internet ou Intranet.Donc c'est un installeur de composant XUL sur réseau, principalement le web.
Les templates
A placer des données en cours de traitement dans un document XUL.Pour citer Mozilla, un template XUL est "une collection de règles utilisée pour construire un contenu XUL et HTML à partir d'une ou plusieurs sources de données RDF ".
Un template décrit un modèle de contenu et les conditions pour l'appliquer.
Le navigateur crée le document XUL ou HTML en copiant le template et en le remplissant de valeurs prise dans une source de données RDF.
<template>
<rule>
<conditions>
...
</conditions>
<action>
...
</action>
<rule>
<rule> .....etc...
</template> Pour chaque occurrence ou l'ensemble des conditions est rencontré, l'action est accomplie.
Autres composantes
XUL utilise aussi DOM, les CSS, HTML, JavaScript.Comment lancer un fichier XUL
Vous pouvez charger un fichier ayant l'extension XUL à partir de Firefox comme une page HTML.Certains projets que j'ai testés ne fonctionnent pas et requièrent une installation spéciale décrite ci-dessous...
Si XULRunner est installé, on le lance dans la fenêtre de commande avec en paramètre le fichier de description. Si par exemple demo.XUL à un fichier de configuration demo.ini:
xulrunner demo.iniLe format d'un fichier de configuration est donné dans l'archive de XULRunner.
Comment utiliser XUL comme interface graphique d'un programme
- Il faut connaître les widgets disponibles.
- Les définitions (XUL, RDF et autres fichiers) doivent être placées dans le répertoire chrome directory de Mozilla.
- Votre application doit être enregistrée dans le fichier d'installation de chrome.
- L'application est lancée par la commande: mozilla -chrome suivie par le chemin du fichier XUL principal.
mozilla
|--chrome
|--mygui
|--content // fichiers XUL, RDF, js
|--locale // fichiers de texte dtd
|--skin& // fichiers css Le système de développement
Le système est constitué de ces éléments:- XUL: (XML User-interface Language) description de l'interface utilisateur.
- CSS (Cascading Style Sheet) personnalise l'apparence.
- JavaScript: programmation de l'interface.
- XBL (eXtensible Binding Language): création de composants réutilisables XUL.
- XPCom/XPConnect: interfacer xpfe avec du code binaire (C++ ou autre).
- XUL Templates: système d'importation de données.
- RDF (Resource Description Framework) stocke et restitue des données.
- DTD peut être utilisé pour les langues étrangères.
- XPInstall: installeur standard des applications XPFE.
Inconvénients de XUL
- Le principal inconvénient du XUL est l'absence de message en cas d'erreur. L'interface ne s'affiche pas, sans plus.
- L'emploi de RDF est assez complexe.
- L'emploi de XPCom, XPConnect l'est encore plus.
XUL ou XAML?
XUL est multi plateformes, et fonctionne en mode natif, tandis que XAML fonctionne sous .NET et compatibles .NET (mono, etc.)XAML à la particularité d'utiliser les noms de classes graphiques comme balises et les propriétés comme attributs XML. XML devient une classe, à la mode de CSharp, plus simple à implémenter mais plus limité.
XUL utilise XPCom pour étendre les possibilités JavaScript, tandis que l'on peut placer du code directement dans xaml.
En outre XUL est interprété et utilise des dessins bitmaps, XAML est compilé et dessine en vectoriel.
Un avantage de XUL est qu'il intègre HTML directement tandis que XAML utilise des éléments équivalents à ceux de HTML.
En conclusion, xaml est plus simple à écrire, mais ne fonctionne pas en mode natif.
Un article compare XUL et tous les autres langages d'interface XML.
Utiliser XUL pour les applications web
Il y a des exemples d'application web ou services web utilisant XUL pour l'interface, comme: Cependant, XUL ne peut fonctionner qu'avec Firefox ou un navigateur basé sur Gecko, ce qui empêche de l'utiliser directement comme interface sur le web, mais on peut utiliser une combinaison de XUL et d'Ajax pour réaliser une application web. Il est possible que la réécriture de Firefox comme application XULRunner qui est en cours puisse permettre de l'utiliser comme environnement d'autres applications.Spécifications
XUL se fonde sur ces spécifications par le W3C: XML 1, HTML 4.0, CSS 2, DOM 2.Et ECMAScript 1.5 par l'ECMA.
Le format XUL est défini par Mozilla.
source : http://www.xul.fr/xml-xul.html
ليست هناك تعليقات:
إرسال تعليق