Auszug aus dem Buch Apps mit PhoneGap entwickeln

1.2 Die eigenen Skript-Dateien

Lassen Sie uns kurz über die JavaScript-Dateien sprechen, die Sie selbst erstellen werden. Obwohl der Eventhandler onload früher[6] unzuverlässig war, sollten Sie ihn dennoch einsetzen, wenn Sie beim Laden der Webseite bereits Anweisungen ausführen wollen. Obwohl Sie eigentlich mit der Positionierung der Skriptreferenz am Ende des Bodies bereits sicherstellen, dass der DOM beim Ausführen der Anweisungen fertig aufgebaut wurde. Er schadet in dem Fall ja nicht und erlaubt eine übersichtliche Strukturierung von Ihrem JavaScript-Code. Zudem bereiten wir eine Struktur vor wie Sie etwa beim Einsatz eines zusätzlichen Frameworks wie jQuery Mobile erwartet wird. Was beim Laden einer Webseite in einen PhoneGap-Wrapper ebenso immer beachtet werden sollte ist, dass die PhoneGap-Bibliothek selbst geladen wurde, bevor Sie spezifische Features des Frameworks nutzen. Das kann man mit einem eigenen Eventhandler gewährleisten.

Die Schablone für die JavaScript-Datei, die in unserer Muster-HTML-Datei mit skripts.js referenziert wird, sieht so aus:

Listing 1.3 Die Datei skripts.js

window.onload = function() {

document.addEventListener(„deviceready„, function () {

}, false);

}

Wir verwenden hier eine anonyme Funktion, die an das onload-Event gebunden wird, das nach dem Laden der Webseite abgefeuert wird. Das ist also eine Initialisierungsfunktion, um nach dem Fertigstellen des DOM zuverlässig bestimmte Schritte auszuführen. Etwa die Seite dynamisch zu füllen, eine Ereignisbehandlung zu registrieren oder die Seite dynamisch im Layout zu verändern.

Im Inneren dieser anonymen Funktion finden Sie einen weiteren Eventhandler deviceready, der sicherstellt, dass PhoneGap geladen ist und zur Verfügung steht. Der zweite Parameter ist eine weitere anonyme Funktion, in der dann die eigentlichen Schritte zur Initialisierung ablaufen. Wir sichern uns mit dieser Struktur und der Notation der Skriptreferenz am Ende des Bodies also mehrfach ab. Im schlimmsten Fall sind diese mehrfachen Sicherungen unnötig, aber schaden können sie auf keinen Fall.

Ansonsten sollten Sie bei der Programmierung unter PhoneGap beachten, dass Sie konsequent JavaScript einsetzen und etwa auf HTML-Eventhandler verzichten. Auch eine gute Kapselung von Strukturen (etwa durch anonyme Funktionen und/oder das Erstellen von eigenen Objekten) ist sehr zu empfehlen.