qooxdoo. Das AJAX Framework in Version 0.7.3

Eine Einführung


Seminararbeit, 2008

43 Seiten


Leseprobe

Inhaltsverzeichnis

1 Was ist qooxdoo?
1.1 Wer sollte qooxdoo benutzen?
1.2 Spezielle Merkmale von qooxdoo .
1.3 Funktionsweise von qooxdoo

2 Installation
2.1 Eine Entwicklungsumgebung
2.2 Die verschiedenen qooxdoo Pakete
2.3 Das qooxdoo SDK
2.4 Die erste Applikation

3 Programmieren mit qooxdoo
3.1 JavaScript
3.2 Objektorientierung
3.3 index.html und Application.js .
3.4 Packages
3.5 Das Eventkonzept
3.6 Properties
3.7 Widgets
3.8 Eigene Themes

4 Das Framework
4.1 Die Demo Applikationen
4.2 Die Klassenhierarchie
4.3 API Dokumentation schreiben . .
4.4 GUI Programmierung
4.5 Internationalisierung
4.6 Drag and Drop
4.7 Cookies

5 Serverentwicklung
5.1 Die verschiedenen Backends . .
5.2 Clientseitige Kommunikation .

6 Nützliche Tipps
6.1 Debugging
6.2 Automatisierte Tests
6.3 Compiler Internals
6.4 Einbinden in bestehende Websites
6.5 Resourcen
6.6 Browser Kontextmenu
6.7 Transparenz

7 Ausblick

1 Was ist qooxdoo?

Qooxdoo ist ein plattformunabhängiges AJAX Framework, welches Ihnen die Möglichkeit gibt, moderne Webanwendungen ohne Kenntnisse von HTML, CSS oder DOM zu schreiben. Die einzigen Vorraussetzungen, die Sie erfüllen müssen, um mit qooxdoo arbeiten zu können, ist das Beherrschen von JavaScript [1] und das Verstehen der Konzepte der Objektorientie- rung [2].

1.1 Wer sollte qooxdoo benutzen?

Das Framework richtet sich an alle Entwickler, die eine Webapplikation nach Web2.0 Ma- nier erstellen möchten. Das bedeutet, eine Desktopähnliche Anwendung in den Browser zu bringen. Qooxdoo bietet die richtigen Tools, die ein Entwickler benötigt, um ohne großen Aufwand grafische Benutzerobeflächen erstellen zu können. Desweiteren kann der Entwickler auf AJAX spezifische Sachen zugreifen oder einfache RPC Aufrufe zu einem Server durch- führen. Das Framework kapselt die meisten Techniken, die Sie in Web2.0 Anwendungen finden werden.

1.2 Spezielle Merkmale von qooxdoo

Eines der wichtigsten Merkmale von qooxdoo ist die Tatsache, dass es kostenlos erhältlich ist. Die Entwickler der 1&1 Internet AG, welche qooxdoo erstellten beschlossen, das Fra- mework unter die LGPL [3] zu stellen. Das heißt jedoch nicht, dass Sie als Entwickler Ihre Applikationen ebenfalls unter diese Lizenz stellen müssen und auch nicht, dass Ihr Quellcode offen sein muss.

Parallel zu der Lizensierung mit der LGPL steht qooxdoo unter der EPL [4], dies ist die Eclipse Public License, welche das Erstellen von geschlossener Software zulässt. Dies dürfte ein Hauptmerkmal dafür sein, dass qooxdoo auch immer mehr im kommerziellen Bereich für die Entwicklung moderner Webanwendungen eingesetzt wird.

Ein weiteres wichtiges Merkmal ist die Serverentwicklung. Mit qooxdoo zusammen werden mächtige Backends (siehe Kap. 5) in verschiedenen Programmiersprachen ausgeliefert. Das bedeutet, dass Sie die Möglichkeit haben, die Rechenlast des Clients in einer Anwendung zu minimieren.

Jedoch die herausragendste Fähigkeit von qooxdoo ist meines Erachtens nach das GUI Tool- kit (siehe Kap. 4.4). Mit ihm haben Sie die Möglichkeit, vollwertige grafische Oberflächen in Desktop „Look and Feel“ zu erstellen. Diese Fähigkeit wird durch viele weitere Features wie Drag and Drop, Mehrsprachigkeit, Keyboard und Maus Handling sowie interne Fenster unterstützt.

1.3 Funktionsweise von qooxdoo

Wie in Kap. 1 bereits erwähnt, ist qooxdoo ein Framework. Das bedeutet, es bietet Ih- nen eine Sammlung an Klassen und Funktionen, die es Ihnen ungemein erleichtern, eigene Applikationen zu schreiben. Sie könnten auch ohne qooxdoo moderne und große Webappli- kationen schreiben, denn alles was dieses Framework macht, ist, moderne Techniken wie JavaScript, CSS, HTML, AJAX (AJAX ist keine Sprache an sich, vielmehr eine Sammlung von Techniken) und DOM unter einen Hut zu bringen. Hier muss sich jeder die Frage,stellen ob er das Rad neu erfinden möchte oder eben auf eine solche Implementation zurückgreifen will.

In den nächsten Kapiteln erfahren Sie im Detail wie qooxdoo den Desktop zum Webtop macht und wie die mitgelieferten Features wie z.B. RPC, Compiler oder Cookiesupport funktionieren.

2 Installation

Die Mindestvoraussetzungen, die ein System bieten muss, um darauf mit qooxdoo entwickeln zu können, sind ein Browser und ein Texteditor. Die gängigen Browser werden alle unterstützt, darunter zählen der Microsoft Internet Explorer in der Version 5.5, 6 und 7, Gecko basierte Browser wie Firefox 1.0, 1.5 und 2.0 oder die Mozilla Suiten ab Version 1.3, Opera 8 und 9 und Safari ab Version 3.0.

Komfortabler ist allerdings eine richtige Entwicklungsumgebung (IDE), die einem Codevervollständigung und Features wie automatische Klammerung etc. bietet.

2.1 Eine Entwicklungsumgebung

Als Entwicklungsumgebung empfehle ich Ihnen Eclipse. Die offene Java Entwicklungsumgebung bietet eine Vielzahl an Erweiterungen, die sich für das Entwickeln von qooxdoo Applikationen geradezu anbieten.

Die Beispiele in diesem Dokument sind allesamt in Eclipse 3.3 erstellt worden. Sie finden die aktuelle Eclipse Version unter http://www.eclipse.org kostenlos zum downloaden. Für Installations- und Konfigurationsanleitungen verweise ich Sie auf die Quelle [5].

Da Eclipse nicht standardmäßig mit einer brauchbaren JavaScript Umgebung ausgestat- tet ist, empfehle ich die Installation der Aptana IDE (http://www.aptana.com/), sie ist eigentlich ein Eclipse Plugin, das nahtlos mit den bestehenden Features von Eclipse zusammenarbeitet. Desweiteren bietet Aptana einige nützliche Features wie automatische Codevervollständigung von JavaScript Code und das Debugging von JavaScript.

Um Aptana zu installieren, gehen Sie bitte wie folgt vor:

Öffnen Sie Ihr Eclipse Programm, danach öffnen Sie im Hauptmenu am oberen Bildschirmrand das „Help"Menu und klicken den Unterpunkt „Find and Install“ des Menus „Software Updates“ an. Im folgenden Dialog müssen Sie „search for new features to install“ auswählen und anschließend auf „next“ klicken.

Abbildung 1 zeigt die Maske, um eine neue Update Seite[1] anzulegen, diese öffnet sich nachdem Sie auf „New Remote Site. . . “ gedrückt haben. Den Namen können Sie frei wählen, es bietet sich allerdings an, dort „Aptana IDE“ einzutragen, damit Sie im späteren Verlauf Ihrer Arbeit nicht die Übersicht verlieren.

Als URL müssen Sie http://update.aptana.com/install/studio/3.2/ eintragen, danach führt Sie Eclipse durch die Installation von Aptana. Nach einem Neustart von Eclipse kön- nen Sie auch schon eine neue JavaScript Datei erstellen, indem Sie auf „File“, „New“ und danach auf „File“ klicken. Wählen Sie ein Projekt aus in dem die Datei erzeugt werden soll und vergeben Sie den Namen mit dem Suffix „.js“. Anschließend öffnet sich die Datei auto- matisch. Sollte die Datei nicht in Aptana geöffnet werden, können Sie mit einem Rechtsklick auf die Datei im Menu „Open with“, Aptana als Editor direkt auswählen.

Um qooxdoo Applikationen compilen zu können, brauchen Sie noch eine funktionierende „make“ Umgebung, auf Unix Systemen[2] steht diese bereits ab der Installation bereit, jedoch muss auf Windows eine separate Umgebung installiert werden. Hierfür bietet sich Cygwin (http://www.cygwin.com/) an. Cygwin ist quasi „Linux unter Windows“, eine detaillierte In- stallationsanleitung finden Sie unter http://qooxdoo.org/documentation/0.7/installing_cygwin. Nachdem alle Programme installiert sind, können Sie sich eines der qooxdoo Pakete down- loaden.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Neue Eclipse Update Seite

2.2 Die verschiedenen qooxdoo Pakete

Das qooxdoo Team stellt den Entwicklern verschiedene Pakete auf seiner Homepage zum Download bereit, die Pakete können Sie unter http://qooxdoo.org/download finden. Da die Vielzahl der Pakete etwas verwirrend ist, will ich hier die Details der einzelnen Distributio- nen klären und Ihnen eine Empfehlung zum Start Ihrer Entwicklung ausstellen.

Quickstart Paket

Das Quickstart Paket sollte die erste Wahl bei allen Entwicklern sein, die sich neu mit qooxdoo beschäftigen. Dieses Paket stellt Ihnen eine fertig gebaute Applikation zur Verfügung, mit der Sie sofort zu programmieren anfangen können. Um dieses Paket mit Eclipse benutzen zu können, gehen Sie bitte wie folgt vor:

Laden Sie sich als erstes das Quickstart Paket von der qooxdoo Webseite herunter und entpacken Sie es anschließend. Erstellen Sie ein neues Projekt (General) in Ihrem Eclipse Workspace und kopieren die entpackten Dateien des Paketes in das Projektverzeichnis. Anschließend können Sie schon die Datei „index.html“ in Ihrem Browser starten und sehen die erste Demo Applikation, einen einzelnen Button (siehe Abbildung 2). Den Quellcode dieser Anwendungen finden Sie in der Datei „Application.js“.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2: Das erste qooxdoo Programm

Build Paket

Das Build Paket stellt eine Sammlung verschiedener Applikationen dar, die mit qooxdoo geschrieben wurden. Aus Entwicklersicht ist dieses Paket eher uninteressant, da Sie aus- schließlich gebaute Anwendungen geliefert bekommen und keinen lesbaren Quellcode. Einen Teil der gelieferten Anwendungen können Sie auch vorab auf der qooxdoo Demo Seite unter http://qooxdoo.org/demo anschauen.

SDK Paket

Das SDK[3] ist wohl das größte und stärkste Paket, es liefert das komplette Framework, welches in Kap. 4 genauer beschrieben ist. Da dieses Paket die volle Kraft des qooxdoo Frameworks beinhaltet, möchte ich es Ihnen in einem extra Kapitel genauer erklären, bitte lesen Sie dafür Kap. 2.3.

Backend Paket

Das Backend Paket liefert drei Referenzimplementierungen eines RPC[4] Servers, welche in Kap. 5 genauer erklärt sind. Die enthaltenen Server in diesem Paket sind in den Sprachen PHP, Java und Perl geschrieben und werden mit vollständig dokumentiertem Quellcode aus- geliefert.

SVN Checkout

Der Subversion Checkout bleibt erfahrenen Benutzern vorbehalten. Um SVN im Detail zu erklären, könnte ich ein eigenes Buch schreiben, was jedoch nicht Sinn dieses Dokumen- tes ist, deshalb möchte ich Sie zu diesem Thema auf die Quelle [7] verweisen und nur die Repository URL des qooxdoo Projektes angeben. Sie finden das Repository unter htt- ps://qooxdoo.svn.sourceforge.net/svnroot/qooxdoo.

2.3 Das qooxdoo SDK

Qooxdoo ist in zwei Teile aufgeteilt, das Backend (siehe Kap. 5) und das Frontend. Das Fron- tend, welches im SDK Paket enthalten ist, stellt Ihnen die qooxdoo Demoapplikationen und den gesamten Framework Quellcode zur Verfügung, desweiteren wird mit dem SDK Paket ein Skeleton ausgeliefert, welches als guter Startpunkt für eine neue qooxdoo Applikation dient. Mit dem SDK Paket haben Sie außerdem die Möglichkeit, eine neue Anwendung als Source, d.h. die reinen JavaScript Dateien, oder als kompilierte Anwendung auszuführen. Wie qooxdoo Applikationen kompiliert, wird in Kap. 6.3 näher beschrieben.

Um das SDK Paket mit Eclipse nutzen zu können, sind noch ein paar Änderungen in der IDE selbst notwendig. Öffnen Sie das „Run“ Menu von Eclipse und gehen Sie auf den Menupunkt „Open External Tools Dialog“ des „External Tools“ Menus. Im Anschluss sollte sich ein Dialog öffnen, in dem Sie dem Punkt „Programm“ einen neuen Eintrag hinzufügen sollten. Vergeben Sie folgende Parameter:

Name: make Source

Location: /bin/sh

Working Directory: ${workpace_loc}

Arguments: -l -c "dir=’${resource_loc}’; if [ ! -d \"$dir\"]; then dir=’${container_loc}’; fi; cd \"$dir\"; while [ ! -f \"$PWD/Makefile\"]; do oldpwd=’$PWD’; cd ..; if [ $oldpwd == \"$PWD\"]; then echo Error; exit -1; fi; done; if [ -f \"$PWD/Makefile\"]; then make source; fi"

Anschließend können Sie den Tab „Common“ auswählen und die Checkbox „External Tools“ der Box „Display in favorite menu“ aktivieren, danach unbedingt auf „apply“ klicken, da die Änderungen sonst nicht gespeichert werden.

Als nächstes sollten Sie die eben erstellte Run Konfiguration über das Kontextmenu duplizieren. Vergeben Sie folgende neue Parameter an die neue Konfiguration:

Name: make Build

Arguments: -l -c "dir=’${resource_loc}’; if [ ! -d \"$dir\"]; then dir=’${container_loc}’; fi; cd \"$dir\"; while [ ! -f \"$PWD/Makefile\"]; do oldpwd=’$PWD’; cd ..; if [ $oldpwd == \"$PWD\"]; then echo Error; exit -1; fi; done; if [ -f \"$PWD/Makefile\"]; then make build; fi"

Nun sollte alles komplett eingerichtet sein und Sie können mit Ihrer ersten eigenen Ap- plikation beginnen. Wie Sie das SDK Paket für die eigene Anwendung benutzen, wird in Kap. 2.4 erklärt.

2.4 Die erste Applikation

Der erste Schritt einer neuen qooxdoo Applikation sollte immer das Einrichten eines Projek- tes sein. Ein Projekt im Eclipse Kontext ist ein Ordner, der verschiedene Konfigurationsda- teien etc. enthält. Im Laufe des Projektes kommen weitere Dateien wie Quellcode, Resourcen usw. dazu.

Legen Sie also als erstes in Eclipse über das „File“ Menu ein neues Projekt (General) an, an- schließend sollten Sie das SDK Paket von der qooxdoo Seite (http://qooxdoo.org/download) downloaden und entpacken. Kopieren Sie dann den entpackten Ordner in das soeben ange- legte Projektverzeichnis, nun müssen Sie das Skeleton vorbereiten. Entpacken Sie die Datei qooxdoo-0.7.3-skeleton.tar.gz aus dem SDK Unterverzeichnis „frontend/application“ in das Projekthauptverzeichnis.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3: Projektstruktur

Abbildung 3 zeigt das fertig eingerichtete Projektverzeichnis. Ist dieser Schritt erfolgreich verlaufen, kann das Frontend ein erstes Mal gebaut werden. Öffnen Sie dazu im „Project Explorer“ das qooxdoo-0.7.3-sdk Verzeichnis und selektieren Sie den Ordner „frontend“. Anschließend müssen Sie im „Run“ Menu den Punkt „make Source“ im Untermenu „Exter- nal Tools“ anklicken und das Frontend wird gebaut. Sollte das Frontend erfolgreich gebaut haben, können Sie den gleichen Schritt wiederholen, jedoch diesmal mit selektiertem Haupt- projektverzeichnis. Damit erzielen Sie, dass das Skeleton mit dem Frontend gelinkt wird und weiß, wo es die qooxdoo Klassen suchen soll. Damit dies funktioniert, müssen Sie die Datei „Makefile“ editieren und den Parameter „QOOXDOO_PATH“ ändern. Tragen Sie als neuen Wert „qooxdoo-0.7.3-sdk“ ein, damit weiß das Programm „make“, wo es die qooxdooKlassen findet.

Ob dieser Schritt funktioniert hat, überprüfen Sie am besten, indem Sie die Datei „index.html“ im „source“ Verzeichnis Ihres Webbrowsers öffnen. Wurde alles korrekt gebaut, sollte die Ansicht derer in Abbildung 4 gleichen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4: Gebaute Skeleton Applikation

Auf den Quellcode der Applikation, Sie finden diesen unter „source/class/custom/Applica- tion.js“, möchte ich an dieser Stelle nicht näher eingehen. Um diesen zu verstehen, ist es unabdingbar, Kap. 3 gelesen und verstanden zu haben. Die eben gebaute Applikation könn- ten Sie nun so in das Internet stellen, jedoch müsste dazu das komplette qooxdoo Frontend mit ausgeliefert werden. Um das zu verhindern und den Code zu komprimieren, müssen Sie eine Build Version der Anwendung erstellen. Dies machen Sie genau gleich wie bei der Source Version jedoch mit einem Unterschied. Selektieren Sie das Projekt Hauptverzeichnis und klicken Sie anschließend auf das „Run“ Menu. Klicken Sie nun auf „qooxdoo Build“ des Untermenus „External Tools“, nun sollte das Verzeichnis „build“[5] automatisch im Pro- jektverzeichnis erstellt worden sein, den Inhalt dieses Ordners können Sie ohne Frontend benutzen und in das Internet stellen.

3 Programmieren mit qooxdoo

Qooxdoo ist nur ein Framework, das aus verschiedenen, vom Anbieter bereitgestellten Klassen besteht. Damit Sie Ihre eigene Applikation entwickeln können, ist ein gekonnter Umgang mit den Klassen notwendig. In den folgenden Kapiteln werde ich Ihnen die Konzepte des Frameworks anhand der Beispielapplikation aus Kap. 2.4 näher bringen.

3.1 JavaScript

Das Framework wurde komplett in der Script Sprache JavaScript geschrieben, somit haben alle Klassen das Suffix „.js“, was JavaScript Dateien kennzeichnet. Die qooxdoo Entwick- ler waren darauf bedacht, alle Browser- und Sprachbesonderheiten vor dem Entwickler zu verbergen, somit müssen Sie sich keine Gedanken machen, wie z.B. ein Button im Internet Ecplorer oder im Firefox erstellt wird. Desweiteren müssen Sie sich auch nicht mit dem DOM[6] Konzept von JavaScript herum ärgern, qooxdoo bietet auch hierfür spezielle Klassen an, um Ihnen die Arbeit zu erleichtern.

3.2 Objektorientierung

Die Objektorientierung in qooxdoo bietet Ihnen verschiedene Konzepte, die Sie als Entwickler nutzen können, nachstehend möchte ich Ihnen diese erklären.

Klassen

In den voran gegangenen Kapiteln habe ich des Öfteren das Wort „Klasse“ erwähnt, für geübte Entwickler ist damit klar, dass qooxdoo komplett objektorientiert ist. Die Klassende- finition in qooxdoo gleicht einem strukturierten Mapping, welches sich am besten an einem Beispiel erklären lässt.

Listing 1: Einfache qooxdoo Klasse

Abbildung in dieser Leseprobe nicht enthalten

Listing 1 zeigt eine einfache qooxdoo Klasse, die ich Ihnen nun im Detail erklären möchte.

qx.Class.define("my.Class", .. ist die Klassendefinition in qooxdoo, „qx.Class“ ist eine Klasse, die für die Definition von Klassen verantwortlich ist. Die Methode „define“ erwartet als ersten Parameter einen Namen, welcher als namespace bezeichnet wird. Ein Namespace ist der eindeutige Name einer Klasse, in unserem Beispiel ist der Namespacewert „my.Class“, was bedeutet, dass die Klasse „Class“ im Verzeichnis „my“ abgelegt ist. Mit diesem Konzept können beliebig tiefe Klassenhierarchien aufgebaut werden. Dieses Konzept wird auch in anderen Sprachen wie z.B. Java verwendet.

Als zweiten Parameter erwartet die Methode eine Map nach dem JSON[7] Prinzip, die bei uns aus den Elementen „extend, construct, members und destruct“ besteht, weitere Mapelemente können sein: „statics, include, type, defer und events“, diese Mapeigenschaften möchte ich in Tabelle 1 genauer betrachten.

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 1: qooxdoo Mapelemente

Die verschiedenen Mapelemente werden kommasepariert angegeben, wobei die Reihenfolge keine Rolle spielt.

Klassentypen

Qooxdoo bietet Ihnen die Auswahl von verschiedenen Klassentypen, wie es in Tabelle 1 schon zu sehen ist. Dies erreichen Sie mittels des „type“ Elementes. Die einzelnen Typen mit Erklärung finden Sie in Tabelle 2 erklärt.

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 2: Die verschiedenen Klassentypen

this

Die eigene Instanz innerhalb einer Klasse sprechen Sie mit „this“ an, wie es auch z.B. aus Java bekannt ist. Um also wie in unserem Beispiel die Methode „printMembers“ anzuspre- chen, müssen Sie innerhalb der Klasse die Methode mit „this.printMembers()“ ansprechen. „this“ hat einige Spezialitäten, wenn es um das Ansprechen der Oberklasse oder statischer Member geht. Ein statisches Element einer Klasse sprechen Sie über „this.self(arguments).NAME“ an, wobei „NAME“ den Variablen- oder Funktionsnamen angibt. Den Oberklassenkonstruk- tor sprechen wir innerhalb des eigenen Konstruktors mittels „this.base(arguments)“ an, wo- bei nach „arguments“ noch die eigenen Konstruktorparameter kommasepariert stehen kön- nen. Überschriebene Oberklassen Methoden werden in der überschriebenen Methode eben- falls über diese Methode angesprochen. In unserem Beispiel sprechen wir über „this.debug()“ das Debugfenster an und geben dort Text aus.

Interfaces

Interfaces werden in qooxdoo über die Klasse „qx.Interface“ definiert, wobei beim Deklarie- ren die Methode „define“ verwendet wird. qx.Interface.define("my.IInterface", .. defi- niert das Interface „IInterface“ im Verzeichnis „my“. Die Notation in qooxdoo hat die Regel, dass Interfaces mit einem vorstehenden „I“ deklariert werden. Interfaces funktionieren wie Klassen, jedoch gibt es in ihnen nur Methodesignaturen und Rückgabewerte, jedoch keine Implementierungen. Um ein Interface in eine Klasse einzubinden, steht das „implement“ Element zur Verfügung, das Einbinden unseres Interfaces würde folgendermaßen aussehen: ..implement : [my.IInterface], ..

Mixins

Ein Mixin realisiert ein spezielles Konzept, es sind quasi Klassen können aber nicht instan- ziert werden. Aufgebaut sind sie wie Klassen, d.h. nach dem Map Konzept. Mixins werden folgendermaßen deklariert: qx.Mixin.define("my.MMixin",..), in bestehende Klassen können sie mittels des „include“ Elementes eingebunden werden z.B. ..include: [my.MMixin],.., die Regeln in qooxdoo besagen, dass Mixins mit einem vorstehenden „M“ im Namen definiert werden sollen. Genau wie Klassen können Mixins vererben, in dem sie selbst über „include“ andere Mixins einbinden. Ist ein Mixin in eine Klasse eingebaut, können seine Methoden über die „this“ Referenz angesprochen werden.

3.3 index.html und Application.js

Eine qooxdoo Applikation, die aus einem Skeleton erzeugt wurde, hat unter anderem zwei sehr wichtige Dateien, zum einen die „index.html“ Datei und zum anderen die Datei „source/class/custom/Application.js“.

Die „index.html“ Datei ist der eigentliche Startpunkt der Anwendung, wenn sie im Browser aufgerufen wird. Sie besteht aus einem einfachen, validierten HTML[8] Grundgerüst, welches folgendermaßen aufgebaut ist:

Listing 2: Die einfache index.html Datei

Abbildung in dieser Leseprobe nicht enthalten

Wie Sie sehen, hat der Code aus Listing 2 zwei JavaScript Teile. Der Erste ist ein einfaches Einbinden der Datei „script/custom.js“. Diese Datei bindet die notwendigen Sourcedateien des Frameworks und die oben erwähnte „Application.js“ ein. Sie wird beim Ausführen des „make Source“ Befehls erstellt und geupdatet, falls sie schon vorhanden ist. Das wichtige al- lerdings ist das Einbinden der „Application.js“, die programmatisch gesehen den Startpunkt der Anwendung darstellt.

Der zweite Scriptteil der „index.html“ erzeugt die eigentliche Applikation. Wie in Kap. 3.2 bereits erwähnt wurde, wird hier mittels „getInstance“ ein Singletonobjekt erzeugt, welches mit der Methode „setApplication“ ein Objekt unserer Klasse in „source/class/custom/App- lication.js“ instanziert.

Da die Klasse „custom.Application“ in der „Application.js“ Datei die Klasse „qx.application.Gui“ ableitet, kann dort die „main“ Methode der Oberklasse überschrieben werden (dies ist bei einer Skeleton Anwendung schon der Fall). Die Methode „setApplication“ erwartet also ein Objekt oder Unterobjekt der Klasse „qx.application.Gui“ und führt dort die „main“ Metho- de aus.

[...]


[1] Eine Eclipse Update Seite ist eine spezielle XML Datei, die im Internet bereitgestellt wird, um Plugins für Eclipse automatisch installieren zu können.

[2] Unix Systeme sind unter anderem BSD Unix, Linux und Mac OS X

[3] SDK bedeutet Software Development Kit und richtet sich ausschließlich an Entwickler

[4] http://de.wikipedia.org/wiki/Remote_Procedure_Call

[5] Oft hilft ein Refresh des Projektes, damit neue Verzeichnisse angezeigt werden

[6] DOM bedeutet Document Object Modell, für weitere Details verweise ich auf die Quelle[1]

[7] http://de.wikipedia.org/wiki/JSON

[8] Hyper Text Markup Language

Ende der Leseprobe aus 43 Seiten

Details

Titel
qooxdoo. Das AJAX Framework in Version 0.7.3
Untertitel
Eine Einführung
Hochschule
Hochschule Furtwangen
Veranstaltung
Technische Informatik Seminar
Autor
Jahr
2008
Seiten
43
Katalognummer
V93696
ISBN (eBook)
9783640100576
Dateigröße
1214 KB
Sprache
Deutsch
Schlagworte
Technische, Informatik, Seminar
Arbeit zitieren
Holger Staudacher (Autor), 2008, qooxdoo. Das AJAX Framework in Version 0.7.3, München, GRIN Verlag, https://www.grin.com/document/93696

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: qooxdoo. Das AJAX Framework in Version 0.7.3



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden