Sviluppare applicazioni usando la piattaforma di Firefox XUL Sviluppare applicazioni usando la piattaforma di Firefox
XUL???
Definizione 1 XUL = XML User interface Language Dialetto XML per la definizione di interfacce utente
<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="main" title="Test" width="300" height="300" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello World"/> </window>
Definizione 2 Tecnologia (?) per l'implementazione di applicazioni (non solo estensioni per Firefox e Thunderbird!) Prende a piene mani dal mondo dello sviluppo web
CSS DOM JavaScript XUL XML XBL XPCOM
... XML Definizione della struttura grafica dell'applicazione Interfaccia event driven: per ogni tipo di elemento sono previsti degli eventi, ad ogni evento e' assegnabile una callback Sintatticamente diverso da XHTML, ma concettualmente identico...
... JavaScript Definizione delle callbacks assegnabili agli eventi Costruttori, inizializzazioni... Per implementare tutto quel che e' implementabile a livello computazionale (le funzioni!)
... DOM Modello logico del documento accessibile nelle funzioni JavaScript Possibilita' di reperire specifici componenti grafici Possibilita' di aggiungere e rimuovere elementi grafici, spostarli, modificarli a runtime
... CSS Descrizione dell'apparenza degli elementi grafici Diversi gradi di dettaglio nella personalizzazione (cfr. CSS2) Possibilita' di definire diverse skin per la stessa applicazione Sintassi estesa rispetto a quella standard, attributi identificati dal prefisso "-moz-*"
... XBL "Widgets" (sulla documentazione non sono mai chiamati cosi'...) Insieme di XML e JavaScript Un oggetto XBL descrive un tag (esistente o completamente nuovo) usabile nell'interfaccia XUL Non e' proprio di XUL: standard specificato da W3C
... XPCOM Gancio alle funzionalita' esterne all'interfaccia grafica (tutto quello che non e' implementabile in JS) Usato per invocare funzioni native sulla piattaforma di esecuzione Implicitazione, fornisce una astrazione per l'interoperabilita'
sappiamo piu' o meno cos'e'... ... e fin qui, sappiamo piu' o meno cos'e'... Domande?
Perche' usare XUL? Bella domanda...
Perche' usare XUL? Innanzitutto, perche' ci si fanno le estensioni per Firefox... Forte integrazione col web Facilmente portabile dal formato standalone al formato web Possibilita' di sfruttare le tecnologie applicate ad XML (XSLT, XQuery...)
Firefox / Thunderbird / ... Come usare XUL? Firefox / Thunderbird / ... Le estensioni per le applicazioni Mozilla sono il contesto piu' comune per XUL... Qualche accorgimento da prendere per l'integrazione (niente <window>, si usa <overlay>)
Come usare XUL? XULRunner Interprete per applicazioni XUL Permette l'esecuzione standalone (senza Firefox) Richiede una ben specifica gerarchia di cartelle ed una serie di files di configurazione
Come usare XUL? http://smoker.barberaware.org Applicazione standalone didattica scritta come integrazione a queste slides
Roberto -MadBob- Guido http://madbob.homelinux.com http://lobotomy.sf.net http://barberaware.org Queste dispense sono rilasciate sotto licenza Creative Commons. È possibile utilizzarle e ridistribuirle a patto che vengano mantenuti riferimenti circa l'autore iniziale e che non vengano utilizzate per scopi di natura commerciale. http://creativecommons.org/ - http://www.creativecommons.it/