Limbă interfață utilizator bazată pe XML

Limbajul interfeței utilizatorului XML (XUL) Imagine în Infobox. Caracteristici
Extensie .xul
Tip MIME application / vnd.mozilla.xul + xml
Dezvoltat de Fundația Mozilla
Tipul formatului Limbaj de marcare
Specificație Formatul deschis
Site-ul web (en)  developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL

XUL (abreviereaXUL) este o descriere lingvistică ainterfețelor graficebazate peXMLcreată ca parte a proiectuluiMozilla. XUL este pronunțatZoulîn engleză (pentru a rima cucool, dar și în omagiu adussemizeului Zouldin filmul Ghostbusters ).

În august 2015, Mozilla a anunțat că utilizarea XUL pentru a crea extensii Firefox va fi depreciată în versiunile viitoare în favoarea WebExtensions .

Caracteristici

XUL include un set de etichete care face posibilă definirea butoanelor, listelor, meniurilor sau chiar editarea zonelor; pe scurt, toate elementele unei adevărate interfețe cu utilizatorul. Un astfel de limbaj facilitează munca dezvoltatorului și face posibilă scrierea interfeței unei aplicații la fel de ușor ca o pagină web.

Dezvoltarea unei aplicații XUL este similară cu dezvoltarea unei aplicații tradiționale client sau client-server . Fiecare obiect grafic este asociat cu evenimente (clic cu mouse-ul, dublu clic etc. ) pentru care dezvoltatorul trebuie să scrie cod (de obicei în JavaScript ) pentru a fi executat de computerul client. Aplicația poate prelua date de pe un server, de exemplu prin cereri HTTP .

Faptul de a defini structura interfeței grafice într-un document XML face posibilă refolosirea aceleiași structuri de la un mediu la altul și chiar de la un limbaj de programare la altul. Motoare similare cu XUL există pentru GTK + ( Glade ), Java , PHP , JavaScript , Flash ( MXML ), Qt ( Qt Designer ), wxWidgets (wxXmlResource, fișiere XRC), .Net ( XAML ) și Android .

Cele două mari atuuri ale XUL sunt extensibilitatea și ușurința reutilizării elementelor. Este posibil să vă definiți propriile etichete pentru a configura componente complexe și refolosibile scriind un fișier XBL ( eXtensible Binding Language ). Aceasta cuprinde, pentru fiecare componentă nouă pe care o descrie, o parte care descrie aspectul grafic al componentei, de exemplu, prin asocierea elementelor grafice de bază și mai multe părți care descriu comportamentul acesteia, sub forma funcțiilor JavaScript. Cele Legăturile astfel definite pot moșteni unul de altul, și supraîncărcarea conținut sau comportamentul lor.

Inițial, XUL a fost dezvoltat pentru a permite crearea ușoară a GUI a browserului web Mozilla . Un motor XUL este încorporat în motorul Mozilla Gecko . Mai târziu, Mozilla a dezvoltat XULRunner , pentru a permite aplicațiilor XUL să ruleze fără Mozilla sau Firefox, înainte de ao abandona.

Organizarea unei ferestre

O fereastră XUL este concepută ca un cuib de „cutii” dreptunghiulare. O casetă conține subelemente care sunt juxtapuse fie vertical, fie orizontal. Aceste subelemente pot fi câmpuri de text, liste derulante, câmpuri care afișează cod HTML și așa mai departe. Aceste subelemente pot fi, de asemenea, cutii, care în sine vor conține alte elemente. În interiorul fiecărei cutii, diferiți parametri vă permit să configurați cu ușurință alinierea subelementelor (stânga, sus, centrată etc.), precum și comportamentul lor atunci când fereastra este redimensionată (dimensiune fixă, dimensiune proporțională etc.).

Afișarea tuturor acestor elemente grafice poate fi configurată folosind o foaie de stil CSS , facilitând accesul XUL pentru dezvoltatorii web.

Exemplu

Comparație între câteva linii de coduri XUL și HTML care ambele afișează tradiționalul „  Hello World !” ":

XUL

<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <box> <description>Hello world!</description> </box> </window>

HTML

<html> <body> <p> Hello World! </p> </body> </html>

XUL și alte tehnologii GUI

XUL facilitează dezvoltarea unei interfețe mai avansate decât HTML la nivel tehnic. Într-adevăr, obiectele XUL sunt tratate printr-o interfață DOM , ca în DHTML . În plus, o interfață XUL poate prelua de pe un server singurele date necesare pentru actualizarea unui element al paginii și nu a întregii pagini; aceste date pot fi recuperate în XML și asincron, ceea ce face posibilă utilizarea metodei AJAX în programarea XUL. Aceste tehnici îmbunătățesc semnificativ timpul de răspuns și confortul utilizatorului. Mediul XUL le folosește în mod transparent pentru utilizatorul din sistemul de șabloane (modele de pagini), ceea ce permite generarea unei părți a interfeței de utilizator din date externe în RDF , fără a fi nevoie să scrieți o linie de cod Javascript. XUL poate exploata și interacționa cu diverse resurse Mozilla, inclusiv SVG .

XUL este, de asemenea, un concurent la tehnologiile tradiționale client-server precum Delphi . XUL oferă, de exemplu, avantajul de a fi bazat pe standarde deschise, cum ar fi XML și pe software gratuit  : fișierele de descriere a interfeței sunt fișiere text simple. Cu toate acestea, XUL nu beneficiază în prezent de suportul unor medii de dezvoltare sofisticate: fișierele XML trebuie scrise sau generate pentru a descrie interfața grafică.

Vezi și tu

Software legat de XUL

Referințe

  1. Kev Needham, „  The Future of Developing Firefox Add-ons  ” , la blog.mozilla.org ,21 august 2015(accesat la 7 septembrie 2015 )

linkuri externe