Język interfejsu użytkownika oparty na języku XML

Język interfejsu użytkownika XML (XUL) Obraz w Infobox. Charakterystyka
Rozbudowa .xul
Typ MIME application / vnd.mozilla.xul + xml
Opracowany przez Fundacja Mozilla
Typ formatu Język znaczników
Specyfikacja Otwarty format
Stronie internetowej (en)  developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL

XUL (skrótXUL) jest językowym opiseminterfejsów graficznychopartych naXML,powstałym w ramach projektuMozilla. XUL wymawia sięZoulw języku angielskim (rymując się zfajnym, ale także w hołdzie dla półbogaZoulaz filmu Pogromcy duchów ).

W sierpień 2015, Mozilla ogłosiła, że ​​używanie XUL do tworzenia rozszerzeń Firefoksa będzie przestarzałe w przyszłych wersjach na rzecz WebExtensions .

Charakterystyka

XUL zawiera zestaw tagów umożliwiających definiowanie przycisków, list, menu, a nawet edycji stref; w skrócie, wszystkie elementy prawdziwego interfejsu użytkownika. Taki język ułatwia pracę programistom i umożliwia pisanie interfejsu aplikacji równie łatwo jak strony WWW.

Rozwój aplikacji XUL jest podobny do tworzenia tradycyjnej aplikacji klient lub klient-serwer . Każdy obiekt graficzny jest powiązany ze zdarzeniami (kliknięcie myszą, dwukrotne kliknięcie itp. ), Dla których programista musi napisać kod (zazwyczaj w JavaScript ), który ma być wykonany przez komputer kliencki. Aplikacja może pobierać dane z serwera, na przykład poprzez żądania HTTP .

Fakt zdefiniowania struktury interfejsu graficznego w dokumencie XML umożliwia ponowne wykorzystanie tej samej struktury z jednego środowiska do drugiego, a nawet z jednego języka programowania do drugiego. Istnieją silniki podobne do XUL dla GTK + ( Glade ), Java , PHP , JavaScript , Flash ( MXML ), Qt ( Qt Designer ), wxWidgets (wxXmlResource, pliki XRC), .Net ( XAML ) i Android .

Dwie wielkie zalety XUL to jego rozszerzalność i łatwość ponownego wykorzystania elementów. Możliwe jest zdefiniowanie własnych znaczników, aby skonfigurować złożone i wielokrotnego użytku komponenty, pisząc plik XBL ( eXtensible Binding Language ). Obejmuje to, dla każdego nowego komponentu, który opisuje, część opisującą aspekt graficzny komponentu, na przykład przez skojarzenie podstawowych elementów graficznych, oraz kilka części opisujących jego zachowanie w postaci funkcji JavaScript. Do Wiązania zatem zdefiniowane mogą dziedziczyć od siebie, a ich zawartość lub przeciążenia zachowań.

Początkowo XUL został opracowany, aby umożliwić łatwe tworzenie GUI przeglądarki internetowej Mozilla . Silnik XUL jest wbudowany w silnik Gecko Mozilli. Mozilla później opracowała XULRunner , aby umożliwić aplikacjom XUL działanie bez Mozilli lub Firefoksa, zanim go porzuci.

Organizacja okna

Okno XUL zostało zaprojektowane jako zagnieżdżenie prostokątnych „pudełek”. Pudełko zawiera elementy podrzędne, które są zestawione pionowo lub poziomo. Te elementy podrzędne mogą być polami tekstowymi, listami rozwijanymi, polami wyświetlającymi kod HTML i tak dalej. Te elementy podrzędne mogą być również pudełkami, które same będą zawierały inne elementy. Wewnątrz każdego pudełka różne parametry pozwalają łatwo skonfigurować wyrównanie elementów podrzędnych (lewy, górny, wyśrodkowany itp.), A także ich zachowanie podczas zmiany rozmiaru okna (stały rozmiar, proporcjonalny rozmiar itp.).

Wyświetlanie wszystkich tych elementów graficznych można skonfigurować za pomocą arkusza stylów CSS , dzięki czemu XUL jest łatwo dostępny dla twórców stron internetowych.

Przykład

Porównanie kilku wierszy kodu XUL i HTML, które wyświetlają tradycyjny komunikat „  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 inne technologie GUI

XUL ułatwia rozwój bardziej zaawansowanego interfejsu niż HTML na poziomie technicznym. Rzeczywiście, obiekty XUL są obsługiwane przez interfejs DOM , tak jak w DHTML . Ponadto interfejs XUL może pobierać z serwera jedyne dane niezbędne do aktualizacji elementu strony, a nie całej strony; dane te mogą być pobierane w XML i asynchronicznie, co umożliwia wykorzystanie metody AJAX w programowaniu XUL. Techniki te znacznie poprawiają czas reakcji i komfort użytkownika. Środowisko XUL używa ich w sposób przejrzysty dla użytkownika w systemie szablonów (szablony stron), co pozwala na wygenerowanie części interfejsu użytkownika z danych zewnętrznych w RDF , bez konieczności pisania linii kodu Javascript. XUL może wykorzystywać różne zasoby Mozilli, w tym SVG, i wchodzić z nimi w interakcje .

XUL jest również konkurentem dla tradycyjnych technologii klient-serwer, takich jak Delphi . XUL oferuje na przykład tę zaletę, że jest oparty na otwartych standardach, takich jak XML, i na darmowym oprogramowaniu  : pliki opisu interfejsu to proste pliki tekstowe. Jednak XUL nie korzysta obecnie ze wsparcia wyrafinowanych środowisk programistycznych : pliki XML muszą być napisane lub wygenerowane, aby opisać interfejs graficzny.

Zobacz też

Oprogramowanie podobne do XUL

Bibliografia

  1. Kev Needham, „  The Future of Developing Firefox  Add-ons, ” na blog.mozilla.org ,21 sierpnia 2015(dostęp 7 września 2015 )

Linki zewnętrzne