Dopo il lungo preambolo sul
perché si dovrebbe passare a XUL e sulle
tecnologie che stanno alla base del linguaggio, eccoci finalmente giunti al linguaggio vero e proprio, o più precisamente a come cominciare a lavorarci: le potenzialità sono molte e i progetti realizzabili altrettanti; sappiamo ormai che
XUL è stato ideato per la realizzazione di interfacce utente, ma cosa effettivamente possiamo realizzare?
Dal punto di vista grafico, i costrutti sono quelli fondamentali, ovvero
controlli di input come
textbox e
checkbox, toolbar con bottoni o altro, barra di menu con bottoni o menu a pop-up, alberi di informazioni gerarchiche o tabulari,
shortcut per tastiera e così via.
Il contenuto da rappresentare all’interno della griglia grafica invece può essere reperito da file XUL o da sorgenti esterne come mailbox utente, bookmark o risultati di ricerche.
Se gli elementi sono universali, è invece importante chiedersi quale deve essere il prodotto finale, cioè a cosa servirà. Tra le tipologie di applicazioni realizzabili infatti possiamo elencare:
- estensioni per Firefox, che aggiungano funzionalità al browser (toolbar addizionali, interfaccia penalizzata, e così via);
- le standalone XULRunner application: XULRunner, come già introdotto precedentemente, è una versione della piattaforma Mozilla per lo sviluppo e l’esecuzione di applicazioni XUL stand alone, che possono quindi lavorare al di fuori di un browser come normali file eseguibili;
- XUL package: tra le prime due possibilità esistono applicazioni realizzate come se fossero estensioni, ma che agiscono in maniera da sembrare indipendenti, in una finestra separata; di solito vengono utilizzate quando non si vuole avere l’ingombro di una applicazione stand alone, ma richiedono il browser Mozilla per l’installazione;
- remote XUL application: si realizzano quando ci interessa piazzare del codice XUL direttamente su web server e aprirlo a distanza su un browser o in una pagina web. Ovviamente questa soluzione ha limitazioni dal punto di vista della sicurezza e della tipologia di azioni che si possono compiere a distanza.
Come risulta evidente i primi tre tipi richiedono un’installazione per essere eseguiti sulla macchina dell’utente, ma d’altra parte non hanno restrizioni di sicurezza per accedere a file o risorse in lettura/scrittura. Come ultima parentesi citiamo i
requisiti minimi di conoscenze dello sviluppatore: abbiamo già parlato delle tecnologie alla base del linguaggio, quindi è chiaramente indispensabile conoscere XML, almeno nei concetti basilari, così come HTML e CSS.
Infine è bene sapere che il linguaggio
XUL è case-sensitive come XML, e al contrario di HTML,
quindi tutti gli elementi e gli attributi devono essere immessi in minuscolo; a loro volta gli attributi di XUL (siano essi numeri o alfanumerici)
vanno racchiusi tra apici.
Ogni file
XUL viene a sua volta scomposto in
quattro subfile — layout,
style declaration,
entity declaration per la localizzazione e script — più un eventuale file per la specifica di file esterni (come le immagini) o specifiche di piattaforma. Ovviamente è impossibile riuscire a trattare ogni argomento in maniera completa quindi, per ogni necessità fate riferimento allo
XUL Element Reference.