Toolkit Mozilli


Spis treści


Czym jest Gecko?

Osadzalna (embeddable) wieloplatformowa maszyna renderująca Gecko jest sercem Mozilli. Nie posiada interfejsu użytkownika; ona tylko rozumie i wyświetla zawartość stron www. Ta zdolność jest cenna dla olbrzymiego zestawu aplikacji, spośród których część niewiele ma wspólnego z “przeglądarką”. Dla przykładu Gecko (dokładniej - wraz z XUL; zobacz poniżej) jest używane do wyświetlania interfejsu użytkownika aplikacji pakietu Mozilla.

Gecko rozpoczęło swą historię w 1997. Od tego czasu projekt ten rozwinął się w małą i szybką maszynę renderującą, którą cechuje otwartość architektury, przenośność, rozszerzalność i łatwość dostosowania. Został on osadzony w różnego rodzaju oprogramowaniu podmiotów trzecich, od konwerterów z HTML na PNG do komercyjnych środowisk IDE. Gecko stanowi maszynę renderującą najnowszego serwisu Compuserve 7.0 service, i jest maszyną ostatnio wydanej przeglądarki Netscape 7.0 oraz jest beta-testowany dla serwisu AOL.

Innymi przykładami zastosowania Gecko mogą być projekty, które są tylko przeglądarkami:

Więcej informacji technicznych na temat osadzania Gecko można znaleźć na stronach mozilla.org i codeguru.com.

Czym jest XUL?

XUL (Rozszerzalny Język Interfejsu Użytkownika, eXtensible User-interface Language) jest opartą na XML, wieloplatformową technologią interfejsu użytkownika Mozilli.

Technologia ta pozwala programistom zdefiniować wieloplatformowy graficzny interfejs użytkownika przy użyciu elementów XML, HTML, CSS i ECMAScript (JavaScript). Użytkownik może zmienić dowolny aspekt interfejsu opartej o XUL aplikacji Mozilli (takiej jak sama Mozilla) przez prostą modyfikację plików stosujących standardową składnię stron www.

XUL używa Gecko by implementować zdefiniowany interfejs użytkownika. Połączenie Gecko z XUL jest podstawą, która pozwala aplikacji Mozili rozszerzać się od stanu prostej jak strona www aplikacji do stanu rozbudowanego programu, takiego jak produkt Mozilla 1.0. Wspiera wszystkie podstawowe elementy znajdujące się w graficznym interfejsie użytkownika, między innymi: menu, kontrolki wejścia, okna dialogowe i kontrolki drzew (jak np. w oknie "Preferencje") oraz skróty klawiaturowe.

Przewodnik po XUL znajduje się na stronie XUL Planet. Istnieje także zbiór slajdów o Budowaniu applikacji z XUL i JavaScriptem, z dołączonymi dodatkowymi informacjami technicznymi (1; 2). Więcej informacji można także znaleźć na stronie mozilla.org.

Czym jest XPCOM?

Komponenty Mozilli są komponentami XPCOM. XPCOM (Wieloplatformowy Obiektowy Model Komponentu, Cross-Platform Component Object Model) został początkowo utworzony jako część projektu Mozilla, ale obecnie używany jest przez wiele różnych projektów. XPCOM jest lekkim wieloplatformowym wariantem szeroko znanego Obiektowego Modelu Komponentu (Component Object Model, COM). Artykuł na stronie www IBM opisuje tą kwestię szerzej.

Wszystkie obiekty XPCOM automatycznie otrzymują wrapper ECMAScript (JavaScript), zatem większość programistów Mozilli doceni wieloplatformowe i inne deweloperskie korzyści osiągane dzięki XPCOM bez potrzeby martwienia się o sam XPCOM.

Czym jest Necko?

Necko (rymuje się z “Gecko”) jest biblioteką sieciową Mozilli. Dostarcza niezależne od platformy API dla wielu warstw sieci, od warstwy transportu po warstwę prezentacji. Biblioteka ta zawiera między innymi komponenty związane ze standardowymi implementacjami obsługi protokołów (HTTP, FTP, itp) oraz poszczególne najważniejsze funkcje sieciowe, m. in: DNS, autentykacja, połączenia z proxy i cache.

API to jest używane w produkcie Mozilla product i może być również zastosowane do utworzenia innych klientów sieciowych. Więcej informacji na temat biblioteki Necko można znaleźć pod adresem http://mozilla.org/projects/netlib/.

Czym jest Imagelib?

Biblioteka renderowania obrazu (Imagelib) dekoduje różne formaty graficzne, dzięki czemu mogą one zostać wyświetlone przez Mozillę. It is completely modular and standards compliant, and includes support for popular image formats such JPEG, PNG, GIF, and PPM (Portable Pixel Map).

Dlaczego JavaScript (ECMAScript) jest aż tak istotną częścią toolkitu Mozilli?

JavaScript jest szeroko stosowanym językiem skryptowym, opracowanym oryginalnie przez Netscape; obecnie został on ustandaryzowany przez Komitet ECMA-262 jako “ECMAScript”. Jest użyteczny nie tylko na stronach www, ale także po stronie serwera.

Mozilla dostarcza dwóch implementacji JavaScriptu: oryginalna i najszerzej znana implementacja jest napisana w języku C i osadzona w przeglądarce Mozilla, podczas gdy druga implementacja została napisana w języku Java. Informacje o implementacjach JavaScriptu, standardach, zestaw testów, podręczniki i grupy dyskusyjne można znaleźć pod adresem http://mozilla.org/js/.

Jeśli chodzi o toolkit Mozilli, debuger JavaScriptu, Venkman, dostarcza potężnego środowiska debugowania tego języka dla przeglądarek www opartych o Mozillę (w tym przeglądarek opartych o samo Gecko, jak K-Meleon czy Galeon).

Aktualnie Venkman pozwala programistom na:

Dodatkowe informacje na temat programu Venkman, zawierające dokładny opis, można uzyskać na stronie http://mozilla.org/projects/venkman/.

Jakie główne korzyści płyną z używania toolkitu Mozilli?

Aplikacja Mozilli działa niezmiennie i w pełni funkcjonalnie na każdej obsługiwanej platformie Mozilli.

Mozilla jest oprogramowaniem w całości wolnym i o otwartym źródle, co daje wiele konsekwentnych korzyści programistom. Na przykład, szeroko stosowany otwarty kod źródłowy staje się bardziej sprawny i bezpieczny niż komercyjny.

A jeśli już zdarzy się błąd, programista ma moc dokonania inspekcji kodu i naprawienia problemu (i jeśli chce udostępnić tą zmianę innym: “daj kod, a zostanie ci to wynagrodzone”).

Mozilla niweluje rozróżnienie między aplikacją dla desktopu a stroną www, co wiedzie ku wielu korzyściom. Programista, który aktualnie pracuje nad tworzeniem aplikacji dla desktopu, ze swoją dobrą znajomością elementów takich jak komponenty, API, objekty, zdarzenia, metody, właściwości i zaawansowany graficzny interfejs użytkownika znajdzie przytulne środowisko programistyczne. Jednakże, dużo więcej technologii będzie bazowało na wspólnych standardach, a pełna moc projektowania www będzie bezpośrednio dostępna dla wzbogacenia doświadczenia użytkownika i aplikacja stanie się wieloplatformowa.

I na odwrót, wielu webmasterów zauważy, że mogą rozwinąć swe zdolności, by tworzuć pełnoprawne aplikacje bez potrzeby wyskakiwania z znanego im terytorium.

Jakie narzędzia programistyczne są wbudowane w Mozillę?

Mozilla 1.0 zawiera Inspektora DOM (dla którego dostępny jest także podręcznik), debuger JavaScript, kosnole Javy i JavaScriptu, oraz wyświetlanie źródła HTML z podświetlaniem składni.

Jakiego systemu bezpieczeństwa używa toolkit?

Bezpieczeństwo w Mozilli to przede wszystkim NSS, Biblioteka Serwisów Bezpieczeństwa Sieciowego (Network Security Services library), napisana przez pracowników Netscape. Ta biblioteka, która poprzedza kampanię z 1998r. “Uwolnić Jaszczurkę! (Free the Lizard)” korzysta z:

Umiejscowiony tuż nad NSS Menedżer zabezpieczeń (Personal Security Manager, PSM) wykonuje operacje kryptograficzne na zlecenie klienta takiego jak Mozilla i jest dostępny jako komponent przy użyciu ECMAScript (JavaScript).

Z kim powinni się kontaktować OEMs, chcący używać podstawowego kodu Mozilli, aby uzyskać więcej informacji?

OEMs zainteresowani używaniem podstawowego kodu Mozilli mogą się kontaktować (w języku angielskim) z Mitchell Baker.