smart developer Ein Code für alle (Vorschau)
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Schwerpunkt<br />
HTML5 mit Jo und PhoneGap<br />
ter und folgen Sie den Anweisungen, um<br />
PhoneGap <strong>für</strong> Ihre jeweilige Plattform zu installieren.<br />
(Es gibt <strong>für</strong> jede Plattform eine eigene<br />
Seite mit Informationen <strong>für</strong> Neueinsteiger<br />
[4]; nutzen Sie die Test-App, um sicherzustellen,<br />
dass die Installationsumgebung<br />
korrekt eingerichtet wurde.)<br />
Um Jo zu installieren, müssen Sie nur die<br />
nötigen Dateien an den passenden Ort kopieren.<br />
Erstellen Sie im entsprechenden www-Verzeichnis<br />
Ihres mobilen Betriebssystems einen<br />
Ordner namens jo und kopieren Sie dann die<br />
Datei jo.js aus dem Unterordner js, den Sie<br />
in Jos Installationsverzeichnis finden, direkt<br />
dort hinein. Kopieren Sie dann den gesamten<br />
Ordner css ins Verzeichnis jo in Ihrem Projektverzeichnis.<br />
Zu guter Letzt müssen Sie noch die Datei<br />
index.html abändern, um das Jo-Framework<br />
und die zugehörigen CSS-Dateien einzubinden.<br />
Wenn Sie schon einmal am Editieren<br />
sind, können Sie auch gleich eine Datei hinzufügen,<br />
in der Ihr Programmcode sowie die<br />
Daten aus dem Google Maps API [5] gespeichert<br />
werden, sodass Sie die gespeicherten<br />
Standorte auf einer Karte abbilden können.<br />
Fügen Sie im Abschnitt HEAD den <strong>Code</strong> aus<br />
Listing 1 hinzu, außerdem müssen die beiden<br />
folgenden <strong>Code</strong>zeilen in den Startup-Abschnitt<br />
Ihres Betriebssystems eingefügt werden<br />
(beispielsweise in die Funktion<br />
onDevice Ready).<br />
jo.load();<br />
App.init();<br />
Erstellen Sie im Anschluss eine leere Datei<br />
namens main.js.<br />
Planen der App<br />
Da wir eine eher „klassische“ App erstellen<br />
wollen, fangen wir mit dem Hauptmenü-<br />
Bildschirm (oder Karte) mit drei Menüelementen<br />
an: Track (Standort Aufzeichnen),<br />
Saved Prints (Abgespeicherte Routen) und<br />
Options (Optionen). Beim Nachprogrammieren<br />
jedes Menüelements werden Sie jeweils<br />
ein anderes Jo-Widget kennenlernen. Wäre<br />
dies hier kein Programmierprojekt, dann<br />
wäre es wohl am sinnvollsten, wenn Ihre<br />
App gleich nach dem Hochfahren den Track-<br />
Bildschirm, d.h. den Bildschirm mit der<br />
Standort-Aufzeichnungsfunktion, zeigen<br />
würde, da Anwender wahrscheinlich diese<br />
Funktion als Erstes ausprobieren wollen.<br />
Sie können sich Ihre App so vorstellen,<br />
dass jede einzelne ihrer Funktionen eine<br />
Karte in einem Stapel darstellt. Dieser Ansatz<br />
funktioniert bei Jo sehr gut. Jede Jo App<br />
wird als joScreen dargestellt, der die BODY-<br />
Elemente des Browsers abstrahiert. Apps<br />
können dem Bildschirm joCard-Elemente<br />
hinzufügen. JoCards werden über einen<br />
joStack (oder joStackScroller) verwaltet,<br />
außerdem können Programmierer mittels<br />
dieser Elemente push- und pop-Methoden<br />
auf die aktiven Karten anwenden.<br />
Für jede der drei oben beschriebenen<br />
Funktionen müssen Sie Karten erstellen.<br />
Aber zunächst brauchen Sie eine Struktur, in<br />
die Ihre Karten eingebettet werden können.<br />
Das App-Skelett<br />
Sicherlich wollen Sie den globalen Namespace<br />
von JavaScript nicht unnötig verschmutzen.<br />
Deswegen ist es am besten, den<br />
App-<strong>Code</strong> in ein Objekt zu verpacken und<br />
mittels des Module Pattern <strong>alle</strong> „Innereien“<br />
der App dort einzubetten, sodass kein anderer<br />
JavaScript-<strong>Code</strong> darauf zugreifen kann.<br />
Wenn Sie die Programmzeilen aus Listing<br />
2 zu der Datei main.js hinzufügen, erstellen<br />
Sie damit ein App-Objekt mit ein paar internen<br />
Daten (die Sie später noch brauchen<br />
werden) und Funktionen. Nachdem Sie dann<br />
Ihren joScreen erstellt haben, wird <strong>alle</strong>s, was<br />
Sie auf dem Bildschirm platzieren, auch auf<br />
<strong>alle</strong>n anderen Bildschirmen der App sichtbar<br />
sein. Wenn Sie joNavbar verwenden, wird<br />
damit auf <strong>alle</strong>n App-Bildschirmen eine Titelleiste<br />
eingeblendet, außerdem ein plattformspezifischer<br />
Back-Button (bei webOS-Apps<br />
wird beispielsweise die gängige Zurück-Geste<br />
benutzt). Der Befehl return am Schluss gibt<br />
<strong>alle</strong> Daten und Funktionen zurück, die Sie<br />
außerhalb Ihres Objektes zur Verfügung stellen<br />
wollen. In diesem Fall geben Sie nur die<br />
init-Funktion selbst zurück, da dadurch <strong>alle</strong><br />
anderen von Ihnen benötigten Prozesse angestoßen<br />
werden.<br />
Die Menü-Karte<br />
Bei Jo steht Ihnen ein äußerst einfach zu benutzendes<br />
Menü-Widget zur Verfügung namens<br />
joMenu. Um ein joMenu zu erstellen,<br />
müssen Sie dem Widget ein Objekt-Array<br />
übergeben, das die Menüoptionen und IDs<br />
enthält. Die Klickevents im Menü werden abgefangen<br />
und über die ID der gewählten Option<br />
wird dann die entsprechende Karte ge-<br />
Listing 1: index.html wird erweitert<br />
<br />
<br />
<br />
<br />
<strong>smart</strong>-<strong>developer</strong>.de 02/2011 13