XUL: Mani?

Ghostbusters, 1984Després de la ponència sobre Mozilla Firefox, alguns m’heu demanat més detalls del XUL.

XUL és el llenguatge que usa per pintar la seva interfície. També permet crear aplicacions web. Bàsicament Mozilla (i Firefox) usa el motor XUL per crear la interfície i el Gecko per navegar.

En primer lloc potser cal definir que és una aplicació web. ÿs programari que en comptes d’estar instal·lat al nostre ordinador està a Internet i es visita com si fos una plana web. Són programes amb tots els ets i els uts, només que els visitam a Internet en comptes d’instal·lar-los.

Al visitar una plana web, el servidor ens envia un arxiu que està escrit amb un llenguatge informàtic, el HTML –amb tots els seus complements i variacions que no cal posar aquí per allargar-ho massa. L’arxiu HTML conté ordres per pintar tot el que veiem a la plana web.

Al visitar una aplicació web XUL, el servidor ens envia un arxiu que està escrit en la variant XUL del llenguatge informàtic XML. Conté ordres per pintar els elements que es solen veure veure la finestra d’un programa qualsevol: selectors varis, llistes, text, llocs on entrar text, botons, imatges…

XML és un llenguatge no gaire llunyà al HTML, d’aquí el ML final que comparteixen i que vol dir Markup Language. Per Internet XML és la millora necessària d’un HTML que l’havia popularitzat però que té limitacions importants. Per exemple i resumint-ho molt: si a una plana HTML hi surt la paraula «banc», a un altre programa –per exemple, Google– li costarà molt saber si és de doblers, peixos o per seure. Però a una plana XML a més de parlar de bancs també podem definir la estructura i usar-la per dir si el lloc és financer, sobre el mar o els parcs d’una ciutat. Per això sovint es parla de «la web semàntica» i el XML.

Aquest detall del XML, poder definir la estructura, fa que sigui útil per a moltes coses més sofisticades que no pas una plana de text per Internet. A can Mozilla el van usar per definir una estructura [vocabulari] capaç de crear interfícies d’usuari, això és, finestres. De fet, XUL és un acrònim que significa XML-based User-interface Language (llenguatge per interfícies d’usuari basat en XML).

Així, en descarregar amb el Mozilla o el Firefox un arxiu .XUL d’Internet en comptes d’un arxiu .HTML, el navegador pintarà una interfície que s’assembla més a un programa que no pas a una plana web. La interfície d’una plana HTML té las seva utilitat i sentit, però és massa simple i poc flexible per a fer segons què. Per exemple, és més fàcil d’usar un programa convencional de correu electrònic que no pas un webmail, on per canviar només una frase sovint s’ha de recarregar tota la plana –o una part si usen marcs, que tampoc són còmodes, precisament. Amb XUL no hi ha diferències.

Els programes XUL funcionen a totes les plataformes que tenen Mozilla: GNU amb Linux o FreeBSD, UNIX, MacOS, Windows… ÿs un avantatge important pels informàtics perquè ja no han de crear i mantenir versions diferents per a tants sistemes operatius. L’inconvenient es que de moment només Mozilla i Firefox entenen XUL. Prò són programes lliures i del tot recomanables. Tothom els pot tenir a canvi d’un poc d’espai al disc.

Tot el que pot fer XUL ja es podia aconseguir amb Java des de fa anys i sense que faci falta un navegador concret, perquè va bé a tots. Microsoft té quelcom assemblant per la seva plataforma .NET i també està basat en XML (s’en parla a un comentari interessant escrit a Slashdot). La novetat de XUL és que està basat en XML, un estàndard del W3 Consortium, i que és lliure. Qualsevol altre navegador també podria llegir i interpretar XUL. Bé que ho van fer tots amb el JavaScript, fet a Netscape per Brendan Eich, ara el Lead Technologist del projecte Mozilla. A una plana web explica el futur per Mozilla i inclou incorporar tecnologies d’altres projectes.

Hi ha un projecte per posar XUL a l’escriptori KDE, cosa que inclouria el navegador Konqueror: el KaXUL.

El vols tastar?

Captura de pantalla del MABMAB és una aplicació que cerca articles a un parell de botigues d’Amazon. ÿs una bona demostració del que es pot fer amb XUL.

Si encara no tens ni el Mozilla ni el Firefox, aquí pots veure unes pantallades de l’invent.

Això només és un resum en català del que trobaràs amb tots els detalls –fins i tot el codi font– al lloc original del projecte MAB.

Les extensions del Firefox són una altre forma de veure la potència del XUL. Són programes XUL que s’instal·len en comptes de visitar-se, com dèiem que passa amb les aplicacions web. La ForecastFox, els jocs de cartes que trobaràs a aquesta plana o el celebèrrim cercamines a aquesta altre, són una bona mostra del flexible que és la interfície del Firefox basada en XUL.

Més detalls

(Fotos: Pòster de la pel·lícula Ghostbusters del 1984 trobat a Internet Movie Posters Awards. I què hi fa aquí? Per saber-ho, llegeix la definició de XUL a la Wikipedia. La pantallada del MAB és de la plana del projecte a Mozdev.org.)

Entrades relacionades

1 Comentari

  1. A+a+ l’imatge es molt apropiada, el FF salvarà als usuaris de Windows de passar un altre estiu com els dos passats :-)

    Però no se si es el millor…

Deixa un comentari