File:  [mozdev] / books / www / docbook / de / ch01.xml
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Mon Nov 24 21:20:47 2003 UTC (16 years ago) by halter
Branches: MAIN
CVS tags: HEAD
- initial upload of german docs up to chapter 3

    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>