Cross-Plattform-Apps mit PhoneGap entwickeln
Seite 5: Zusatzfeatures und Fazit
Und was ist mit der Feature XYZ?
Oft wird die Frage aufgeworfen, ob PhoneGap auch eine Datenbanken erstellt oder die neuen UI-Komponenten von iOS beherrscht. Die Antwort ist in allen Fällen, selbst wenn es um Dinge wie Facebook-Integration, geht: So lange es eine normale Webanwendung kann, kann es auch eine mit PhoneGap erstellte App. Da sie einen Browser aufruft, ist sie in der Lage, alle möglichen JavaScript-Bibliotheken zu nutzen. Egal ob es um das Erstellen von Diagrammen mit Highcharts.js oder touch-optimierte Oberfläche mit jQueryMobile geht. Die Frage nach der Datenbank (websql) ist auch einfach geklärt: Wenn die Plattform es unterstützt, lassen sich wie gewohnt sqlite-Datenbanken erstellen.
Sicherlich ist die Performance einer App mit PhoneGap nicht die einer nativen Anwendung. Allerdings haben auftretende Performanceprobleme häufig mehr mit dem Programmierstil und den verwendeten Zusatz-Bibliotheken zu tun als mit dem Framework. Ein einfaches Beispiel ist hier das Laden von 1.000 Zeilen im Framework jQuery-Mobile. Hier wird das zähe Scrollen gerne auf PhoneGap geschoben, allerdings braucht das Rendern von 1.000 Einträge immer seine Zeit und eine Implementierung von LazyLoading wäre sicherlich besser gewesen. Also lässt sich nicht jedes Performance-Problem auf PhoneGap schieben.
PhoneGap – das Buch
Der Artikel lässt sich mehr oder minder als Update zum Buch des Autors "PhoneGap – Mobile Cross-Plattform-Entwicklung mit Apache Cordova & Co." lesen, das im März 2013 beim dpunkt.verlag erschienen ist. Die Aktualisierungen betreffen insbesondere die mit PhoneGap 3.0 eingeführten Neuerungen.
PhoneGap hilft an vielen Stellen, aber nicht überall. Der Entwickler muss sich beispielsweise selbst entscheiden, ob die Oberfläche für jede Plattform neu zu erstellen ist oder die Wahl lieber auf ein generell gültiges, mobiles UI fallen soll. Für solche Vorhaben stehen diverse HTML/CSS-Bibliotheken wie jQueryMobile, Sencha-Touch, Topcoat, Twitter Bootstrap und Ratchet zur Verfügung. Auch das Erstellen von Charts oder Entwickeln von performantem JavaScript-Code ist nicht die Aufgabe des Frameworks.
Fazit
PhoneGap kann helfen, datengetriebene Apps für mehrere mobile Plattformen zu erstellen. Der Ansatz, HTML und JavaScript zum App-Bau zu nutzen, bietet Einsteigern schnelle Ergebnisse und Profis eine solide Basis für größere Projekte. Der Schritt auf Version 3.0 hat PhoneGap nicht geschadet. Es gibt zwar ein paar Brüche in API und Nutzung, allerdings werden diese durch die Verbesserungen der Plug-in-Schnittstelle und das einfache Installieren mittels Node-Modul aufgewogen. Auch die eigentliche Speichergröße der Anwendung nimmt durch die Umstellung ab. Lässt man die Benutzeroberfläche und ein Backend für die Daten nicht unbeachtet, kann sich PhoneGap als Grundlage für die Entwicklung von Cross-Plattform-Anwendungen als nützlich erweisen.
Marcus Ross
ist Dipl.-Informatik-Betriebswirt und arbeitet als freier IT-Berater und Trainer mit den Schwerpunkten Datenbanken und Webportale. Seit 2010 widmet er sich dem Thema der mobilen Cross-Plattform-Entwicklung und ist zudem PhoneGap-Comitter.