24.3. XPCom Cross Platform Library

Viel genutzt, wenig bekannt ist das Cross - Plattform Komponenten - Modell, mit welchem Mozilla, Netscape, Firefox, Chatzilla, Komodo, Adobe Acrobat, OpenOffice und StarOffice auf Linux, UNIX, MAC OS X, Windows, OS/2 portiert wurde. Dieses basiert, wie auch Staroffice auf einer Library namens XPCom, wobei XPCom für Cross Plattform Component Object Model steht. XPCom besitzt viele der Eigenschaften von .NET und JAVA:

Das Besondere an Mozilla, Firefox, Netscape ... Anwendungen ist, daß das äußere Erscheinungsbild dieser Anwendungen ganz in der XML - Sprache XUL geschrieben ist, welche auf das XPCom - Komponenten - Modell zurückgreifen kann, um anspruchsvollere Anwendungen schreiben zu können, wie z.B. Datenbank - Frontends (MySQLXPCom), siehe Abschnitt 24.1. Wer den Bookmark - Editor anklickt sieht dann in einem neuen Fenster z.B. eine reine XUL- Anwendung. Das, was Microsoft mit dem IE und den unzähligen Active-X/DCOM Plugins schaffen wollte, ist mit Mozilla / Firefox / Netscape schon länger erreicht. Der Browser ist eine GUI, mit welcher sich vom Betriebssystem unabhängig beliebige Applikationen programmieren lassen:

Schwierig zu verstehen ist es, daß XUL, auf XML basierend, eine Programmiersprache darstellt, daher eine einfache "Hello World" - Anwendung, die man einfach so auf den Webserver kopiert:

<?xml version="1.0"?>
<window
xmlns="http://www.mozilla.org/keymaster/gatekeeper/helloworld.xul"
        title="Hello">
  <description value="Hello World"/>
</window>
Beeindruckend sind jedoch Beispiele, die einfach funktionieren, wie unter Mozilla XUL Spiele zu finden. Hierbei ist weder ein JAVA - Plugin nötig, noch Active-X, sondern einfach nur XUL!

Microsoft COM und XPCOM sind recht verwandt. Man könnte XPCOM auch als OpenSource Active-X - Variante beschreiben. Beide sind nicht vollständig kompatibel zueinander, jedoch sollte ein Programmierer mit COM+/DCOM/Active-X Erfahrung sich schnell zurechtfinden können.