Annotation of books/www/docbook/de/ch01.xml, revision 1.1

1.1     ! halter      1: <chapter label="1" id="mozilla-CHP-1">
        !             2: 
        !             3: <title>Mozilla als Platform</title>
        !             4: 
        !             5: <para>
        !             6: Das Mozilla Projekt startete im M&auml;rz 1998 mit <indexterm id="IXT-1-1115"><primary>Mozilla</primary><secondary>
        !             7: als Platform</secondary></indexterm> dem Ziel, den Nachfolger von Netscape's Communicator 4.x Browser zu entwickeln.
        !             8: Heute wird Mozilla von den Entwicklern verwendet um Applikationen zu entwickeln, die sowohl lokal als auch
        !             9: &uuml;ber das Internet funktionieren.
        !            10: </para>
        !            11: 
        !            12: <para>
        !            13: Der Unterschied zwischen der eigentlichen Aufgabe, einen Browser zu 
        !            14: erstellen und der Verwendung von Mozilla als Entwicklungsframework,
        !            15: ist nicht so abwegig wie es auf den ersten Blick erscheinen mag. Ein Webbrowser
        !            16: erinnert normalerweise nicht an ein Applikationsframework, obwohl er
        !            17: grunds&auml;tzlich eines ist. Browser erm&ouml;glichen es Benutzern, Applikationen wie Yahoo! Mail,
        !            18: f&uuml;r den Empfang und Versand von Mail, Amazon f&uuml;r Ihre B&uuml;cherbestellungen oder
        !            19: eBays online Auktionen zu benutzen.
        !            20: </para>
        !            21: 
        !            22: <para>
        !            23: Mozilla erweiterte die Idee der Applikationsnutzung dadurch, dass
        !            24: einige Technologien wie CSS und JavaScript direkt verwendet werden.
        !            25: Dieses Kapitel gibt eine &Uuml;bersicht der Web-Technologien und wie sie
        !            26: in Mozilla weiterverwendet wurden. Dies erkl&auml;rt wie aus Mozilla eine
        !            27: Plattform f&uuml;r plattform&uuml;bergreifende Applikationen entstand.
        !            28: </para>
        !            29: 
        !            30: <sect1 role="" id="mozilla-CHP-1-SECT-1" label="1.1">
        !            31: <title>Visualisierung des Mozilla Front Ends</title>
        !            32: 
        !            33: <blockquote>
        !            34: <para>
        !            35: Am Anfang gab es 3 verschiedene Front Ends: Mac, Windows und Unix.
        !            36: Jedes hatte ein Entwicklerteam, das sich darum k&uuml;mmern musste. Hinzuf&uuml;gen
        !            37: eines Features (auch nur ein Button) hatte zur Folge dass 3 Ingenieure
        !            38: mindestens einen Tag (eher eine Woche) Zeit investieren mussten, um das
        !            39: Feature komplett zu integrieren. Dies musste &auml;ndern.
        !            40: </para>
        !            41: </blockquote>
        !            42: 
        !            43: <para>
        !            44: Dieses Zitat stammt von der mozilla.org Seite und beschreibt wie f&uuml;r
        !            45: die Netscape 4.x Browser verschieden Teams von Entwicklern n&ouml;tig waren,
        !            46: um den Code zu unterhalten, obwohl der Browser auf allen unterst&uuml;tzten
        !            47: Platformen nahezu identisch aussah.
        !            48: </para>
        !            49: 
        !            50: <para>
        !            51: F&uuml;r eine Firma die Applikationen f&uuml;r eine breite Auswahl von Systemen anbieten
        !            52: wollte, war die Verwendung von plattformspezifischen Code eine grosse Zeitverschwendung.
        !            53: Zur L&ouml;sung dieses Problems wurde <indexterm id="IXT-1-1116"><primary>XPFE</primary></indexterm>, Mozilla's
        !            54: plattform&uuml;bergreifendes Frontend entwickelt, mit dem ein Interface f&uuml;r eine Vielzahl von Betriebssystemen
        !            55: definiert werden kann.
        !            56: </para>
        !            57: 
        !            58: <sidebar id="mozilla-CHP-1-SIDEBAR-1">
        !            59: <title>Portabilit&auml;t</title>
        !            60: 
        !            61: <para>
        !            62: Wahrscheinlich einer der wichtigsten Vorteile f&uuml;r Entwickler, gegen&uuml;ber herk&ouml;mmlicher Toolkits, ist, dass Mozillas
        !            63: Applikationen plattform&uuml;bergreifend sind. Dies bedeuted, dass diese Programme
        !            64: sowohl unter Windows, als auch unter Unix und MacOS ausf&uuml;hrbar sind. Dies wird erm&ouml;glicht,
        !            65: indem Mozilla als Interpretations-Schicht zwischen der Appliktion und dem Betriebssystem
        !            66: fungiert.
        !            67: </para>
        !            68: 
        !            69: <para>
        !            70: Daher kann man davon ausgehen, dass, wenn Mozilla unter einem bestimmten
        !            71: Betreibssystem l&auml;uft, auch andere, auf Mozilla basierende Applikationen
        !            72: ausf&uuml;hrbar sind. Auf der anderen Seite sind nicht alle Mozilla Applikationen
        !            73: plattform&uuml;bergreifend, da es auch m&ouml;glich ist plattformspezifischen Code zu
        !            74: verwenden, der nur auf einem bestimmten System ausf&uuml;hrbar ist. <indexterm id="IXT-1-1118"><primary>Camino</primary></indexterm>
        !            75: Camino (ein sehr schneller Browser f&uuml;r MacOS X) ist ein Beispiel daf&uuml;r.
        !            76: </para>
        !            77: 
        !            78: <para>
        !            79: Die Anzahl der <indexterm id="IXT-1-1119"><primary>Mozilla Portierungen</primary></indexterm>
        !            80: Mozilla <indexterm id="IXT-1-1120"><primary>Portierungen</primary></indexterm>
        !            81: Portierungen auf andere Betriebssysteme gibt Ihnen einen Anhaltspunkt
        !            82: der Vielfalt der Anwendungen. Mozilla l&auml;uft unter Windows, Macintosh
        !            83: (MacOS und MacOS-X) und Linux, wie auch unter den meisten anderen Unices, wie Solaris, FreeBSD,
        !            84: HP-UX und Irix. Weitere Portierungen f&uuml;r BeOS, OS/2, OpenVMS, Amiga und andere Betriebssysteme
        !            85: sind in Arbeit. Weitere Informationen &uuml;ber diese Projekte finden Sie unter <systemitem role="url">http://www.mozilla.org/ports/</systemitem>.
        !            86: </para>
        !            87: </sidebar>
        !            88: 
        !            89: <para>
        !            90: In diesem Zusammenhang ist das Front-End mehr als das Look&amp;Feel einer Applikation,
        !            91: da es ebenfalls Funktionalit&auml;t und Strukturen der Applikation enth&auml;lt. Netscape 6.x und 7.x
        !            92: verwendet XPFE um die Erstellung von Themes zu erm&ouml;glichen, wobei die Browser Suite selbst
        !            93: auch mit XPFE gemacht ist.
        !            94: </para>
        !            95: 
        !            96: <para>
        !            97: Diese neue Technologie entstand als Technik um Zeit zu sparen und entwickelte
        !            98: sich zu einer der m&auml;chtigsten Inovationen von Mozilla. Mike Cornall fasst die
        !            99: Entwicklung von XPFE in einem Bericht auf LinuxToday wie folgt zusammen:
        !           100: "The application platform capabilities of Mozilla came about through a
        !           101: happy coincidence of open source development, good design, and
        !           102: far-sighted developers who were paying attention."
        !           103: (Die F&auml;higkeiten von Mozilla als Applikationsplattform entstanden durch gl&uuml;ckliche
        !           104: Zuf&auml;lle aus der OpenSource Entwicklung: gutes Design und weitsichtige Entwickler
        !           105: die sich Gedanken machten.)
        !           106: </para>
        !           107: 
        !           108: <para>
        !           109: Mozilla Entwickler wollten einen effizienteren Prozess entwickeln der
        !           110: sowohl Zeit als auch Aufwand einsparen w&uuml;rde. Diese Technologie hatte
        !           111: den unerwarteten Vorteil, die Eintrittsschwelle in die Applikationsentwicklung,
        !           112: betr&auml;chtlich herabzusetzen. Um diese gl&uuml;cklichen Umst&auml;nde besser verstehen zu
        !           113: k&ouml;nnen ist es n&ouml;tig, XPFE etwas genauer anzuschauen.
        !           114: </para>
        !           115: 
        !           116: <sect2 role="" id="mozilla-CHP-1-SECT-1.1" label="1.1.1">
        !           117: <title>XPFE Framework</title>
        !           118: 
        !           119: <para>
        !           120: XPFE baut auf existierende Web Standards. Unter anderem Cascading Style Sheets, JavaScript, und XML
        !           121: (die XML Komponente ist XUL, die XML basierte User-Interface Language. In seiner einfachsten Form kann
        !           122: XPFE als Verbindung dieser Technologien angesehen werden. Zusammen betrachtet machen diese Komponenten
        !           123: das XPFE Framework aus: <link linkend="mozilla-CHP-1-FIG-1">Figure 1-1</link>.
        !           124: </para>
        !           125: 
        !           126: <figure id="mozilla-CHP-1-FIG-1" label="1-1">
        !           127: <title>XPFE Framework</title>
        !           128: <graphic fileref="figs/moz_0101.png"/></figure>
        !           129: 
        !           130: <para>
        !           131: Um zu verstehen wie XPFE funktioniert, schauen wir uns am besten kurz an, wie
        !           132: die einzelnen Komponenten interagieren. JavaScript bildet die Funktionalit&auml;t
        !           133: der Applikation, Cascading Style Sheets sorgen f&uuml;r das Look&amp;Feel
        !           134: und XUL ist f&uuml;r die Applikationsstruktur zust&auml;ndig.
        !           135: </para>
        !           136: 
        !           137: <para>
        !           138: Anstatt, wie C oder C++, plattformspezifischen Code zur f&uuml;r Applikationen
        !           139: zu verwenden, setzt XPFE auf verbreitete Web Standards, die 'by-design' plattformunabh&auml;ngig sind.
        !           140: Da das XPFE Framework plattformunabh&auml;ngig ist, sind es auch die damit erstellten Applikationen und da
        !           141: einige der verwendeten Technologien bereits verwendet werden um Webseiten zu erstellen, k&ouml;nnen Leute
        !           142: die bereits Vorkentnisse mit Webseiten haben, leicht erlernen wie man Applikationen
        !           143: mit XPFE erstellt.
        !           144: </para>
        !           145: 
        !           146: </sect2>
        !           147: <sect2 role="" id="mozilla-CHP-1-SECT-1.2" label="1.1.2">
        !           148: <title>Der Unterschied zwischen XPFE und DHTML</title>
        !           149: 
        !           150: <para>
        !           151: In vielen Aspekten ist XPFE DHTML (Dynamic HTML) sehr &auml;hnlich. DHTML ist eine Kombination aus
        !           152: HTML, JavaScript und CSS die es dem Entwickler erlaubt eine Applikation in einer Anzeige des
        !           153: Browsers auszuf&uuml;hren. XPFE erweitert diesen Gedanken und erlaubt es, Applikationen zu erstellen
        !           154: die machtvoller und flexibler sind und, die auch ausserhalb des Browsers existieren k&ouml;nnen.
        !           155: </para>
        !           156: 
        !           157: <para>
        !           158: <link linkend="mozilla-CHP-1-FIG-2">Figure 1-2</link> zeigt die &Auml;hnlichkeiten zwischen XPFE und DHTML.
        !           159: Beide verwenden JavaScript f&uuml;r die Funktionalit&auml;t, CSS um Design und Layout zu definieren und eine
        !           160: einfache Markup-Sprache um den Inhalt zu beschreiben. Der einzige Unterschied zwischen den beiden ist,
        !           161: dass die eine Sprache HTML ist und die andere XUL.
        !           162: </para>
        !           163: 
        !           164: <figure id="mozilla-CHP-1-FIG-2" label="1-2">
        !           165: <title>Vergleich von DHTML und XPFE</title>
        !           166: <graphic fileref="figs/moz_0102.png"/></figure>
        !           167: 
        !           168: <para>
        !           169: Obwohl HTML f&uuml;r verschiedenste Zwecke eingesetzt wird, wurde es einst entwickelt
        !           170: um Dokumente im Internet untereinander zu verbinden. Sp&auml;tere Weiterentwicklungen
        !           171: des HTML Standards haben die Funktionalit&auml;t zwar erweitert, k&ouml;nnen jedoch leider
        !           172: immernoch keine Basis zur Applikationsentwicklung bieten. XUL ist eine Sprache die
        !           173: spezifisch daf&uuml;r konzipiert wurde, User-Interfaces zu erstellen. Deshalb liegt es auf der
        !           174: Hand, dass XPFE besser zur Applikationentwicklung geeignet ist als DHTML.
        !           175: </para>
        !           176: 
        !           177: <para>
        !           178: Da XUL in seiner Struktur HTML sehr &auml;hnlich ist, helfen Vorkenntnisse von der Entwicklung von
        !           179: HTML Seiten enorm, um zu lernen wie man mit Mozilla
        !           180: Applikationen entwickelt. Selbst wenn sie HTML noch nie verwendet haben, bietet XUL durch
        !           181: die Verwendung eines einfachen Sets an Tags, eine komfortable M&ouml;glichkeit sich schnell
        !           182: einzuarbeiten. Sobald Sie sich an die Verwendung von XUL gew&ouml;hnt haben, sind Sie bereit
        !           183: XPFE zu verwenden um eigene Applikationen zu entwickeln.
        !           184: </para>
        !           185: 
        !           186: </sect2>
        !           187: <sect2 role="" id="mozilla-CHP-1-SECT-1.3" label="1.1.3">
        !           188: <title>Komponenten einer Mozilla Applikation</title>
        !           189: 
        !           190: <para>
        !           191: Nebst diesen Basistechnologien existieren noch weitere Komponenten die in XPFE
        !           192: verwendet werden. Im Folgenden gehen wir auf die Punkte ein, die aus Mozilla dieses
        !           193: m&auml;chtige Applikationsentwicklungsframework machen.
        !           194: </para>
        !           195: 
        !           196: <para>
        !           197: Beim zweiten Mozilla Developer Meeting f&uuml;hrte Rob Ginda, der Author von ChatZilla,
        !           198: eine Diskussion &uuml;ber Mozilla als Plattform. Dort f&uuml;hrte er folgende Komponenten einer
        !           199: Mozilla Applikation auf:
        !           200: </para>
        !           201: 
        !           202: <variablelist>
        !           203: <varlistentry><term>XML-basierte User-Interface Language (XUL)</term>
        !           204: <listitem>
        !           205: <para>
        !           206: Wird verwendet um die Struktur und den Inhalt einer Applikation zu definieren.
        !           207: </para>
        !           208: </listitem>
        !           209: </varlistentry>
        !           210: 
        !           211: <varlistentry><term>Cascading Style Sheets (CSS)</term>
        !           212: <listitem>
        !           213: <para>
        !           214: Werden verwendet um das Look&amp;Feel einer Applikation zu bestimmen.
        !           215: </para>
        !           216: </listitem>
        !           217: </varlistentry>
        !           218: 
        !           219: <varlistentry><term>JavaScript</term>
        !           220: <listitem>
        !           221: <para>
        !           222: Wird verwendet um die Funktionalit&auml;t der Applikation zu erstellen. Dabei ist zu beachten,
        !           223: dass auch andere ScriptSprachen wie Python, Perl oder Ruby an Stelle von JavaScript verwendet
        !           224: werden k&ouml;nnen.
        !           225: </para>
        !           226: </listitem>
        !           227: </varlistentry>
        !           228: 
        !           229: <varlistentry><term>Cross-Platform Installation (XPInstall)</term>
        !           230: <listitem>
        !           231: <para>
        !           232: Wird verwendet um eine Applikation so zu verpacken dass sie auf jeder Plattform installierbar ist.
        !           233: </para>
        !           234: </listitem>
        !           235: </varlistentry>
        !           236: 
        !           237: <varlistentry><term>eXtensible Binding Language (XBL)</term>
        !           238: <listitem>
        !           239: <para>
        !           240: Wird verwendet um wiederverwendbare Widgets aus einer Kombination von XUL und JavaScript zu erstellen.
        !           241: </para>
        !           242: </listitem>
        !           243: </varlistentry>
        !           244: 
        !           245: <varlistentry><term>XPCOM/XPConnect</term>
        !           246: <listitem>
        !           247: <para>
        !           248: Dient als Interface um JavaScript, beziehungsweise jeder anderen ScriptSprache,
        !           249: Zugriff auf C und C++ Libraries zu erm&ouml;glichen.
        !           250: </para>
        !           251: </listitem>
        !           252: </varlistentry>
        !           253: 
        !           254: <varlistentry><term>XUL Templates</term>
        !           255: <listitem>
        !           256: <para>
        !           257: Werden verwendet um Daten aus einer Kombination von RDF und XUL in die Applikation zu laden.
        !           258: </para>
        !           259: </listitem>
        !           260: </varlistentry>
        !           261: 
        !           262: <varlistentry><term>Resource Description Framework (RDF)</term>
        !           263: <listitem>
        !           264: <para>
        !           265: Format um Daten zu speichern/&uuml;bermitteln. Wird meist als kompliziertester Teil des XPFE
        !           266: angesehen.
        !           267: </para>
        !           268: </listitem>
        !           269: </varlistentry>
        !           270: 
        !           271: <varlistentry><term>Document Type Definition (DTD)</term>
        !           272: <listitem>
        !           273: <para>
        !           274: Wird verwendet um Applikationen zu lokalisieren/internationalisieren; meist wird daf&uuml;r L10N
        !           275: und I18N als Kurzform verwendet.
        !           276: </para>
        !           277: </listitem>
        !           278: </varlistentry>
        !           279: </variablelist>
        !           280: 
        !           281: <para>
        !           282: Einige dieser Technologien sind im Begriff als Standards anerkannt zu werden.
        !           283: AOL &uuml;bermittelte 2001 im Namen von mozilla.org XBL an das W3. Obwohl das W3C
        !           284: noch keine Kommentare dazu abgegeben hat, wird dies als erster Schritt zur
        !           285: Standartisierung angesehen. Die CSS Working Group des W3C hat nun die M&ouml;glichkeit
        !           286: den XBL Vorschlag zu evaluieren und kann daraus eine offizielle Recommendation erstellen.
        !           287: </para>
        !           288: 
        !           289: <para>
        !           290: Jede der obgenannten Technologien ist wichtig und &uuml;ber viele k&ouml;nnte man ganze B&uuml;cher schreiben. Man sollte
        !           291: jedoch unterscheiden, zwischen solchen die f&uuml;r eine Mozilla Applikation unabdingbar sind,
        !           292: und solchen die optional sind.
        !           293: </para>
        !           294: 
        !           295: <para>
        !           296: Es ist zum Beispiel m&ouml;glich eine Applikation zu schreiben die keine DTDs verwendet
        !           297: (obwohl eine Applikation die nicht lokalisierbar ist f&uuml;r weltweite Benutzer wenig
        !           298: n&uuml;tzlich ist). Eine Applikation ohne XUL zu erstellen w&auml;re andererseits praktisch
        !           299: unm&ouml;glich, da das Programm ansonsten keine Benutzerschnittstelle h&auml;tte.
        !           300: </para>
        !           301: 
        !           302: </sect2>
        !           303: </sect1>
        !           304: 
        !           305: <sect1 role="" id="mozilla-CHP-1-SECT-2" label="1.2">
        !           306: <title>Einrichten des Systems</title>
        !           307: 
        !           308: <para>
        !           309: Bevor wir unser erstes Beispiel einer Mozilla Applikation anschauen, sollten Sie sicherstellen,
        !           310: dass sie Mozilla auf ihrem System installieren k&ouml;nnen, und auch &uuml;ber alle anderen Werkzeuge
        !           311: verf&uuml;gen um eigene Applikationen zu entwickeln. Jeder Entwickler ben&ouml;tigt prim&auml;r
        !           312: zwei Werkzeuge: Mozilla und einen Texteditor.
        !           313: </para>
        !           314: 
        !           315: <para>
        !           316: Falls Sie mozilla noch nicht installiert haben, k&ouml;nnen Sie die Software von
        !           317: mozilla.org herunterladen. Sie k&ouml;nnen dabei zwischen zwei Arten der Distribution
        !           318: w&auml;hlen. Entweder Sie laden ein bereits kompiliertes Packet f&uuml;r Ihre Plattform
        !           319: herunter, oder gleich den gesamten Sourcecode. Beides wird mit den Beispielen in
        !           320: diesem Buch funktionieren. <link linkend="mozilla-APP-A">Anhang A</link>
        !           321: liefert weitere Informationen &uuml;ber die Ihnen zur Verf&uuml;gung stehenden Optionen.
        !           322: </para>
        !           323: 
        !           324: <para>
        !           325: Weiter ben&ouml;tigen Sie einen Texteditor. Jeder Editor der Text als 'plaintext' (ohne Formatierungen)
        !           326: speichern kann ist daf&uuml;r geeignet. HTML Editoren funktionieren auch. Falls Sie normalerweise
        !           327: HomeSite, BBEdit, oder einen anderen Editor der HTML erzeugen kann, verwenden, k&ouml;nnen Sie das auch
        !           328: weiterhin machen, solange der Editor Dateien im Textformat speichern kann.
        !           329: </para>
        !           330: 
        !           331: <para>
        !           332: Obwohl es f&uuml;r die Entwicklung weitere Werkzeuge wie Debugger und spezialisierte Editoren
        !           333: (ein paar davon werden in <link linkend="mozilla-APP-B">Anhang B</link> n&auml;her beschrieben)
        !           334: gibt, reichen f&uuml;r den Anfang Mozilla und ein Texteditor v&ouml;llig aus. Wenn Sie diese beiden Werkzeuge
        !           335: einmal installiert haben, sind sie bereit mit den Beispielen in diesem Buch zu arbeiten.
        !           336: </para>
        !           337: 
        !           338: </sect1>
        !           339: 
        !           340: <sect1 role="" id="mozilla-CHP-1-SECT-3" label="1.3">
        !           341: <title>Mozilla Applikationen</title>
        !           342: 
        !           343: <para>
        !           344: Die bekanntesten Mozilla Applikationen sind wohl die, die Netscape mit Ihrer
        !           345: Browsersuite ausliefert - inklusive des Browsers, Mail und Newsgroup Clients,
        !           346: einem HTML Editor und einem InstantMessenger Chat Program. Dies sind jedoch nur ein
        !           347: paar der Applikationen die mit Mozilla erstellt wurden.
        !           348: </para>
        !           349: 
        !           350: <para>
        !           351: Mozilla.org hostet die Entwicklung verschiedener Applikationen - aber Mozilla Applikationen
        !           352: k&ouml;nnen &uuml;berall entwickelt und gehostet werden. Andere Orte an denen Mozilla Applikationen
        !           353: gefunden werden k&ouml;nnen umfassen <systemitem role="url">http://www.mozdev.org/</systemitem>
        !           354: (mit mehr als 70 Applikationen zur Zeit als dieses Buch geschrieben wurde) und andere Firmen-Webseiten
        !           355: welche Mozilla als Teil ihrer Produkte verwenden.
        !           356: </para>
        !           357: 
        !           358: <para>
        !           359: Unseren ersten Blick auf Mozilla Applikationen richtet sich auf drei verschiedene
        !           360: Chat Clients. <link linkend="mozilla-CHP-1-FIG-3">Bild 1-3</link> zeigt ein Beispiel von
        !           361: ChatZilla, einem Programm welches erlaubt mit anderen Benutzern via Internet Relay
        !           362: Chat (IRC) Server (wie <systemitem role="url">irc.mozilla.org</systemitem>, wo Mozilla
        !           363: Entwickler sich im <filename>#mozilla</filename> Channel treffen) zu kommunizieren.
        !           364: ChatZilla kann separat oder als Teil von Mozilla installiert werden. Falls ChatZilla
        !           365: bei Ihnen bereits installiert ist, k&ouml;nnen Sie das Programm via Window &gt; IRC Chat starten.
        !           366: Die zwei anderen Chat Clients sind AOL's InstantMessenger, der mit Netscape7 geliefert wird,
        !           367: und JabberZilla, ein plattform&uuml;bergreifender Jabber Client.
        !           368: </para>
        !           369: 
        !           370: <figure id="mozilla-CHP-1-FIG-3" label="1-3">
        !           371: <title>ChatZilla, ein IRC Chat Client der mit Mozilla erstellt wurde</title>
        !           372: <graphic fileref="figs/moz_0103.png"/></figure>
        !           373: 
        !           374: <para>
        !           375: Browser und Chat Clients sind nur einige der M&ouml;glichkeiten. In den folgenden
        !           376: Kapiteln werden Sie lernen, wie Sie Mozilla Technologien verwenden k&ouml;nnen um
        !           377: Ihre eigenen Applikationen zu entwickeln. Sie werden lernen wie man XUL, CSS,
        !           378: JavaScript und andere Technologien und Konzepte einsetzt um einen eigenen Browser,
        !           379: Chat Client, Blog Editor, Word Processor, Adventure Game, Music Player, FTP Client,
        !           380: Rezept Organisator, Ferienplaner, Kalender, oder jede andere Applikation zu entwickeln.
        !           381: </para>
        !           382: 
        !           383: <sidebar id="mozilla-CHP-1-SIDEBAR-2">
        !           384: <title>Lasst hundert Browser bl&uuml;hn</title>
        !           385: 
        !           386: <para>
        !           387: Da Mozilla verwendet werden kann um Applikationen jeglicher Art zu erstellen,
        !           388: gibt es keinen Grund, nicht auch verschiedene Browser zu bauen. Verschiedene solche
        !           389: Projekte existieren bereits, unabh&auml;ngig der Arbeit die f&uuml;r den Standard Mozilla Browser
        !           390: gemacht wird. Diese Auswahl ist ein grosser Vorteil, da die Mozilla Community nicht
        !           391: einen einzigen Browser entwickeln muss der alle Bed&uuml;rfnisse abdeckt.
        !           392: </para>
        !           393: 
        !           394: <para>
        !           395: Ein paar dieser Projekte arbeiten an einer Verbesserung des Mozilla Browser Interfaces. Eine
        !           396: der ersten Mozilla Applikationen, Aphrodite (<systemitem role="url">http://aphrodite.mozdev.org</systemitem>),
        !           397: hat ein von der Mozilla Community erstelltes Interface. Auch das Firebird Projekt (<systemitem role="url">http://www.mozilla.org/projects/firebird/</systemitem>)
        !           398: k&uuml;mmert sich um das Interface und versucht M&auml;ngel an der Standardversion wett zu machen. In vieler Art sind diese Projekte dem
        !           399: erstellen von Themes sehr &auml;hnlich, gehen aber noch einen Schritt weiter und verwenden XUL, CSS und JavaScript um das Layout
        !           400: des Browser Interfaces und nicht nur den Look anzupassen.
        !           401: </para>
        !           402: 
        !           403: <para>
        !           404: Weitere Projekte entwickeln alternative Browser, welche aber anstatt Mozilla, plattformspezifische Interface
        !           405: Toolkits verwenden. Diese Projekte erstellen schlanke Browser die nur Gecko, Mozillas Layout engine, benutzen.
        !           406: Weil diese Projekte plattformspezifischen Code verwenden, sind sie auch nur auf bestimmten Plattformen lauff&auml;hig.
        !           407: Einige Beispiele sind Camino (<systemitem role="url">http://www.mozilla.org/projects/camino/</systemitem>) f&uuml;r
        !           408: Mac OS X, Galeon (<systemitem role="url">http://galeon.sourceforge.net</systemitem>) f&uuml;r Unix, und
        !           409: K-Meleon (<systemitem role="url">http://kmeleon.sourceforge.net</systemitem>) f&uuml;r Windows.
        !           410: </para>
        !           411: 
        !           412: <para>
        !           413: Diese Projekte sind nur einige der Beispiele der verschiedenen verf&uuml;gbaren Browser.
        !           414: Andere umfassen Dino!, Beonex, SkipStone und BrowserG!. Falls Sie interessiert
        !           415: sind mehr &uuml;ber diese Browser zu erfahren, finden Sie unter <systemitem role="url">http://www.mozdev.org/categories/browsers.html</systemitem>
        !           416: Links zu den Projekten. Falls Ihnen eine weitere Browserart einf&auml;llt die bisher noch nicht entwickelt wird, bauen Sie Ihre eigene mit Mozilla.
        !           417: </para>
        !           418: </sidebar>
        !           419: 
        !           420: <sect2 role="" id="mozilla-CHP-1-SECT-3.1" label="1.3.1">
        !           421: <title>Applikationen als Webseiten</title>
        !           422: 
        !           423: <para>
        !           424: Mozilla macht keinen Unterschied zwischen Webseiten und Programmen welche mit XPFE entwickelt
        !           425: wurden. Dies ist nicht weiter verwunderlich, da Mozilla Applikationen
        !           426: und Webseiten konzenptionell sehr &auml;hnlich sind (beide verwenden
        !           427: Markup Languages mit einer Kombination von Stylesheets, JavaScript und anderen Technologien).
        !           428: </para>
        !           429: 
        !           430: <para>
        !           431: Die selbe Engine die verwendet wird um im Browser Webseiten anzuzeigen, wird also
        !           432: auch f&uuml;r Mozilla Applikationen verwendet. Dieses Konzept wird meist nicht deutlich,
        !           433: da Applikationen in eigenen Fenstern und nicht im Browser laufen.
        !           434: </para>
        !           435: 
        !           436: <para>
        !           437: Gecko, der Name von Mozillas Rendering Engine, macht keinen Unterschied zwischen
        !           438: Mozilla Applikationen und Webseiten, deshalb m&uuml;ssen Applikationsentwickler Gecko mitteilen,
        !           439: dass etwas anderes gemacht werden muss wenn eine Applikation gerendered wird.
        !           440: </para>
        !           441: 
        !           442: <para>
        !           443: Als Beispiel davon wie Gecko Applikationen rendered, k&ouml;nnen Sie den Mozilla Browser selbst im Browser
        !           444: laden (siehe <link linkend="mozilla-CHP-1-FIG-4">Bild 1-4</link>). Um dies zu tun, laden Sie Mozilla und
        !           445: schreiben <userinput>chrome://navigator/content</userinput> in die Locationbar (die Stelle des Browsers
        !           446: an der normalerweise die URL einer Webseite angegeben wird). Auf gewisse Weise ist der Browser selbst also
        !           447: eine Webseite.
        !           448: </para>
        !           449: 
        !           450: <figure id="mozilla-CHP-1-FIG-4" label="1-4">
        !           451: <title>Der Mozilla Browser der sich selbst rendered</title>
        !           452: <graphic fileref="figs/moz_0104.png"/></figure>
        !           453: 
        !           454: <para>
        !           455: Es ist komplett in Ordnung eine Applikation innerhalb des Browsers zu laden. Die
        !           456: meisten Entwickler ben&ouml;tigen jedoch die Browserinfrastruktur nicht f&uuml;r ihre eigene
        !           457: Applikation und lassen sie deshalb weg.
        !           458: </para>
        !           459: 
        !           460: <para>
        !           461: Im n&auml;chsten Kapitel zeigen wir Ihnen, wie Sie eine eigene XUL Datei erstellen und diese
        !           462: im Browserfenster ausgeben lassen. Danach zeigen wir Ihnen wie Sie die Applikation selbstst&auml;ndig
        !           463: laufen lassen k&ouml;nnen, was Ihnen als Basis f&uuml;r Ihre eigene Applikation dienen wird.
        !           464: </para>
        !           465: 
        !           466: </sect2>
        !           467: </sect1>
        !           468: </chapter>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>