XML User Interface Language

Da Wikipedia, l'enciclopedia libera.
XML User Interface Language
Estensione .xul
Tipo MIME application/vnd.mozilla.xul+xml
Sviluppato da Mozilla Foundation
Tipo Linguaggio di markup
Sito web www.mozilla.org/projects/xul
Esempio di applicazione XUL.

XUL (XML User Interface Language) è un linguaggio per definire interfacce grafiche sviluppato per supportare le applicazioni basate su Mozilla, come Mozilla Firefox e Mozilla Thunderbird. Come UIML, è un'applicazione basata su XML per descrivere interfacce grafiche. Si pronuncia zuul.

L'intera interfaccia di Firefox, Thunderbird, Seamonkey e altri programmi Mozilla è costruita in XUL.

Sebbene XUL non sia uno standard pubblico W3C, esso riutilizza molte tecnologie standard preesistenti, come i CSS, Javascript, Document Type Definition (DTD) e Resource Description Framework (RDF), che lo rende molto semplice da imparare per persone che hanno una conoscenza di sviluppo e design di applicazioni web.

Il maggiore vantaggio di XUL è il suo fornire una interfaccia semplice e portabile per i componenti più comuni. Questo riduce lo sforzo implementativo in modo analogo a quello fornito dagli strumenti 4GL.

Introduzione[modifica | modifica wikitesto]

Un'interfaccia XUL è tipicamente definita da tre insiemi discreti di componenti:

Contenuto
il documento XUL, che definisce il layout dell'interfaccia.
Skin
il file CSS e le immagini, che definiscono l'aspetto esteriore dell'applicazione
Localizzazione
il documento DTD, che definisce i componenti per una localizzazione più semplice.

Elementi XUL[modifica | modifica wikitesto]

Le specifiche XUL comprendono un gran numero di elementi che, in prima approssimazione, appartengono alle seguenti aree:

Elementi principali
finestre, pagine, finestre di dialogo, wizard, ...
Componenti (widget)
etichette, bottoni, caselle di testo, liste, alberi, menu, barre degli strumenti, tabulazioni, spaziatori, ...
Box model
box, grid, stack, deck, ...
Eventi e script
script, comandi, tasti, broadcaster, observer, ...
Sorgenti di dati
template, regole, ...
Altri
overlay, iframe, browser, editor

È possibile usare, all'interno di documenti XUL, anche altri documenti XML, come XHTML e MathML, grazie all'uso dei namespace.

Alcuni componenti comuni, come spinbox o canvas, non sono disponibili nelle specifiche XUL correnti, ma sono nella lista delle cose da implementare per la versione 2.0 di XUL[1].

Modo d'uso[modifica | modifica wikitesto]

Sebbene XUL sia usato soprattutto per creare l'applicazione Mozilla e tutte le sue estensioni, è possibile usarla anche per applicazioni web trasferite via HTTP. L'applicazione XUL maggiormente conosciuta è la Mozilla Amazon Browser, che fornisce una ricca interfaccia per cercare i libri presenti su Amazon. Comunque molte delle funzioni più potenti di Mozilla (come l'uso degli oggetti XPCOM), non sono disponibili ai documenti eseguiti in remoto (a meno che lo script non sia firmato digitalmente).

Origine del nome[modifica | modifica wikitesto]

THERE IS NO DATA.
THERE IS ONLY XUL.

Il nome XUL deriva dal film Ghostbusters, nel quale un fantasma di nome Zuul si impossessa di un personaggio di nome Dana (interpretato da Sigourney Weaver) e dichiara "Non c'è Dana, solo Zuul" (There is no Dana, only Zuul). Poiché XUL è stranamente usato per definire in XML un'interfaccia, invece del contenuto, gli sviluppatori hanno adottato come slogan il motto "Non ci sono dati, solo XUL" (There is no data, only XUL). Questo si può vedere nell'URI usato nel namespace XML all'inizio di ogni documento XUL http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul; quando si vede con una applicazione XUL, il documento mostra uno slogan in grandi lettere al centro dello schermo (simile a quello che vedete alla vostra destra adesso)

"Keymaster" (mastro di chiavi) e "gatekeeper" (guardiano di porta) sono anch'essi presi dallo stesso film. Questo non è l'unico riferimento al film in Mozilla: ad esempio, il debugger Javascript è chiamato Venkman, il nome di uno dei personaggi del film.

Note[modifica | modifica wikitesto]

  1. ^ (EN) XUL:Home Page

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]