XUL_Tutorial/Introducció

This article is in need of an editorial review.

Aquest tutorial és una guia per aprendre XUL ( Llenguatge d'Interfície d'Usuari XML ) el qual és un llenguatge multiplataforma per descriure interfícies d'usuari per aplicacions.

Aquest tutorial demostrarà la creació d'una simple interfície per cercar fitxers, semblant a la provsta al programa Sherlock del Macintosh en el diàleg cerca fitxer en Windows. Cal tenir en compte que només crearem la interfície amb una funcionalitat limitada i la cerca de fitxers no serà implementada. Una línia blava apareixerà a la dreta del paràgraf quan el diàleg de cerca s'estigui modificant. Pots seguir endavant directament a través d'aquestes seccions.

Què és XUL i perquè ha sigut creat?

XUL (pronunciat "zool" i que rima amb "cool" ) s'ha creat per fer el desenvolupament del navegador de Mozilla més fàcil i ràpid. És un llenguatge basat en XML amb el que totes les característiques i funcions d'XML són a XUL.

La gran majoria d'aplicacions s'han de desenvolupar fent servir característiques d'una plataforma en concret fent la construcció de programari multiplataforma molt difícil i llarga. En el passat però ja s'han desenvolupat sol·lucions multiplataforma. Java, per exemple té la portabilitat com a principal característica. XUL és un altre llenguatge d'aques tipus que ha sigut dissenyat específicament per construir interfícies d'usuari portables. Cal molt de temps per construir una aplicació encara que sigui per una sola plataforma. El temps requerit per compilar i depurar pot ser molt llarga. Amb XUL, l'interfície pot ser implementada i modificada fàcilment i ràpidament. 

XUL té tots els avantatges dels llenguatges basats en XML. Per exemple XHTML o altres llenguatges XML com MathML o SVG es poden inserir al mig. També, el text que s'utilitza amb XUL és fàcilment localitzable, que vol dir que es pot traduïr a altres idiomes amb poc esforç.

Quins tipus d'interfícies es poden crear amb XUL?

XUL proporciona l'habilitat de crear la gran majoría d'elements trobats en les intefícies gràfiques modernes. Alguns elements que es poden crear són :

  • Controls d'entrada com caixes de text i caselles de selecció
  • Barres d'eines amb botons o d'altres continguts
  • Menús en una barra d'eines o en menus emergents
  • Diàlegs amb pestanyes
  • Àrbres per informació jerarquitzada o tabular
  • Dreçeres de teclat

El contingut que s'ensenya pot ser creat directament a un fitxer XUL o amb dades provinents d'una font de dades. A Mozilla, aquestes fonts de dades inclouen la bústia de correu de l'usuari, els seus marcadors i els resultats de les cerques. El contingut dels menús, àrbres i altres elements poden ser emplenats amb aquestes dades o amb les que proporciones tu mateix a dins un fitxer RDF.

Hi ha diverses maneres d'utilitzar XUL:

  • Extensió del Firefox -- una extensió afegeix functionalitat al navegador mateix, sovint en forma de barres d'eines extra, menús contextuals, o modificacions de la interfície d'usuari (UI) del navegador. Això es fa utilitzant una característica de XUL anomanada overlay, que permet la UI provinent d'una font, en aquest cas, el navegador Firefox, ser mesclada en la UI per extensió. Les extensions també poden ser aplicades a altres productes basats en Mozilla com Thunderbird.
  • Aplicació per separat XULRunner -- XULRunner és una versió empaquetada de la plataforma Mozilla que us permet crear aplicacions XUL per separat. No es requereix un navegador per correr aquestes aplicacions, com si tinguessinel seu propi fitxer executable.
  • Paquet XUL -- in between the other two are applications which are created in the same way as an extension, but they act like a separate application in a separate window. This is used when you don't want to have the larger size of a complete XULRunner application, but don't mind requiring a Mozilla browser to be installed to be able to run the application.
  • Remote XUL application -- you can also just place XUL code on a web server and open it in a browser, as you would any other web page. This method is limited however, as there are security concerns that will limit the kinds of things you will be able to do, such as opening other windows.

The first three types all require an installation to be performed on the user's machine. However, these types of applications do not have security restrictions placed on them, so they may access local files and read and write preferences, for example. For extensions, the XUL files and associated scripts and images used by an application would be packaged into a single file and downloaded and installed by the user. Mozilla applications such as Firefox provide an extension manager which allows packages to be installed without having to write a lot of complex code.

It is also possible to open XUL files directly from the file system or from a remote web site; however they will be restricted in the kinds of operations they can do, and some aspects of XUL will not work. However, if you do want to load XUL content from a remote site, the Web server must be set up to send XUL files with the content type "application/vnd.mozilla.xul+xml". XUL is usually stored in files with a .xul extension. You can open a XUL file with Mozilla as you would any other file, using the Open File command from the File menu or typing the URL into the address bar.

What do I need to know to use this tutorial?

You should have an understanding of HTML and at least a basic understanding of XML and CSS. Here are some guidelines to keep in mind:

  • XUL elements and attributes should all be entered in lowercase as XML is case-sensitive (unlike HTML).
  • Attribute values in XUL must be placed inside quotes, even if they are numbers.
  • XUL files are usually split into four files, one each for the layout and elements, for style declarations, for entity declarations (used for localization) and for scripts. In addition, you may have extra files for images or for platform specific data.

XUL is supported in Mozilla and browsers that are also based upon on the Gecko engine, such as Netscape 6 or later and Mozilla Firefox. Due to various changes in XUL syntax over time, you will want to get the latest version for the examples to work properly. Most examples should work in Mozilla 1.0 or later. XUL is fairly similar in Firefox and to other browsers, although it has some specific differences such as support for customizable toolbars.

This tutorial attempts to cover much of XUL's functionality, however, not all features are discussed. Once you are familiar with XUL, you can use the XUL Reference to find out about other features supported by specific elements.

Document Tags and Contributors

Contributors to this page: Michael_Knight, RpJ
Last updated by: Michael_Knight,