Ten kurs pomoże Ci nauczyć się XUL (XML User Interface Language) (język opisu interfejsu użytkownika XML), wieloplatformowego języka opisującego interfejs użytkownika.
Kurs pokazuje, jak stworzyć prosty interfejs w postaci okna Znajdź pliki
, wyglądającego podobnie jak okno w programie Sherlock na Macintoshu lub okienko dialogowe w Windows. Utworzony zostanie tylko interfejs użytkownika o nieco ograniczonej funkcjonalności. Faktyczne wyszukiwanie plików nie zostanie w nim zaimplementowane. Czytając po kolei poszczególne artykuły kursu, dowiemy się, jak utworzyć okienko dialogowe Znajdź pliki
.
Czym jest XUL i po co został stworzony
XUL (wym. "zool" i rymuje się z "cool") stworzony został w celu uproszczenia i przyspieszenia rozwoju przeglądarki Mozilla. Jest językiem opartym na języku XML (Extensible Markup Language), w związku z czym wszystkie dostępne własności języka XML są także dostępne w języku XUL.
Większość aplikacji musi być rozwijana na bazie własności konkretnych platform, co niesie za sobą duże nakłady czasu i kosztów. Mimo że dla części użytkowników nie jest to istotne, inni mogą chcieć używać aplikacji na innych urządzeniach, takich jak urządzenia przenośne lub urządzenia typu set-top box.
W przeszłości stworzono wiele rozwiązań wieloplatformowych. Java, na przykład, szczyci się swoją możliwością przenoszenia pomiędzy różnymi systemami. XUL jest jednym z takich języków, zaprojektowanych do tworzenia przenośnych interfejsów użytkownika.
Budowa aplikacji zajmuje dużo czasu, nawet dla jednej tylko platformy. Wiele czasu wymaga też kompilacja i debugowanie. Dzięki XUL interfejs można implementować i modyfikować szybko i w prosty sposób.
XUL posiada wszystkie zalety języka XML, więc XHTML lub inny język oparty na XML, jak MathML (Math Markup Language) czy SVG ("Scalable Vector Graphics), może być do niego bezpośrednio włączony. Ponieważ tekst wyświetlany z XUL jest wpisany wprost, oznacza to, że łatwo i przy małym nakładzie pracy może zostać przetłumaczony na inny język.
Do modyfikacji wyglądu interfejsu użytkownika można wykorzystać arkusze stylów CSS (w podobny sposób, jak w odtwarzaczu WinAmp, na menedżery okien nakłada sięskórki).
Jakie rodzaje interfejsu użytkownika mogą być stworzone w XUL
XUL pozwala na tworzenia większości elementów znanych ze współczesnych interfejsów graficznych. Jest wystarczająco ogólny, aby mógł być dostosowany do specjalnych potrzeb na niektórych urządzeniach, a jednocześnie wystarczająco potężny, by programiści mogli dzięki niemu tworzyć rozbudowane interfejsy.
W XUL można utworzyć m.in.:
- Kontrolki wejścia w formie pól tekstowych i pól wyboru
- Paski narzędzi z przyciskami lub innymi elementami
- Menu na pasku menu lub menu podręczne
- Karty z oknami dialogowymi
- Hierarchiczne drzewa lub tabele
- Skróty klawiaturowe
przy liście, jeżeli stosujemy dużą literę na początku musimy dać na koniec kropkę, ew. nie stawiać nic. przecinki i kropke na końcu listy można stosować, jeśli kolejne wypunktowania zaczynamy małą literą
Wyświetlaną zawartość można utworzyć z treści pliku XUL lub z danych z tzw. źródła danych. W Mozilli takimi źródłami danych mogą być: skrzynka pocztowa użytkownika, jego zakładki i wyniki wyszukiwania. Zawartość menu, drzew i innych elementów może być wypełniana tymi danymi lub danymi dostarczonymi w pliku RDF (Resource Description Framework).
Zawartość XUL jest zwykle ładowana z pakietu zainstalowanego w Mozilli. Pakiet taki pozwala aplikacji na dodatkowe uprawnienia, takie jak odczyt plików lokalnych i modyfikację preferencji użytkownika. Pliki XUL i powiązane z nimi skrypty oraz obrazki danej aplikacji są pakowane do jednego pliku, który użytkownik może pobrać i zainstalować. Mozilla dostarcza środki do instalowania i rejestrowania takich pakietów bez potrzeby pisania dużej ilości złożonego kodu. Ponadto pakiety te mogą się nakładać na przeglądarkę lub inną aplikację, rozszerzając ich możliwości. W ten sposób działają rozszerzenia Firefoksa.
Możliwe jest także otwarcie plików XUL bezpośrednio z systemu plików lub ze zdalnej witryny internetowej. Wówczas jednak niektóre ich możliwości zostaną ograniczone, przez co niektóre elementy XUL nie będą działać. Jeśli mimo to będziesz chciał załadować zawartość XUL ze zdalnej strony internetowej, serwer WWW musi być odpowiednio skonfigurowany, tj. wysyłać pliki XUL z typem MIME application/vnd.mozilla.xul+xml
. XUL jest zwykle przechowywany w plikach z rozszerzeniem .xul
. Możesz otworzyć plik XUL w Mozilli tak samo, jak każdy inny plik, używając menu Plik
i wybierając polecenie Otwórz plik...
lub wpisując adres URL do paska adresu.
Co powinieneś wiedzieć, by posługiwać się tym kursem
Powinieneś dobrze znać język HTML (HyperText Markup Language) i orientować się w podstawach języków XML oraz CSS (Cascading Style Sheets). Oto kilka wskazówek, które należy wziąć pod uwagę:
- Wszystkie elementy języka XUL i ich atrybuty muszą być zapisane małymi literami, ponieważ XML rozróżnia wielkość liter (w przeciwieństwie do języka HTML).
- Wartości atrybutów w języku XUL muszą być podawane w cudzysłowach, nawet jeśli są liczbami.
- Pliki XUL składają się zwykle z czterech plików: jednego definiującego wygląd i poszczególne elementy, drugiego dla deklaracji stylów, trzeciego dla deklaracji jednostek (przydatnego przy lokalizacjach) i czwartego dla skryptów.
Można także dołączać dodatkowe pliki, jak np. obrazki lub dane wykorzystywane w zależności od platformy systemowej.
XUL jest obsługiwany przez Mozillę i inne przeglądarki oparte na silniku Gecko, np. przez Netscape 6 (i nowsze) oraz Mozillę Firefox. Z powodu ciągłych zmian w składni języka XUL, niezbędna będzie jego najnowsza wersja, by przykłady z tego przewodnika działały poprawnie. Większość z podanych tutaj przykładów powinna działać w Mozilli 1.0 i nowszych. W Firefoksie i innych przeglądarkach XUL jest prawie identyczny, choć istnieje kilka dość specyficznych różnic, takich jak obsługa dostosowywanych pasków narzędzi.
W kursie tym próbujemy zaprezentować większość możliwości języka XUL, nie wszystkie jednak mogły zostać w tym miejscu omówione. Gdy już zaznajomisz się z językiem XUL, zapraszamy do skorzystania z dokumentacji XUL, aby poznać pozostałe własności poszczególnych elementów.