Wprowadzenie

This is an archived page. It's not actively maintained.

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.