Blog

Mobile Apps erstellen mit PhoneGap, Titanium & Co.

Die Zeiten, in denen man Anwendungen ausschließlich mit Oberflächen ausstattet, die über einen Monitor betrachtet und über Tastatur und Maus bedient werden, sind vorbei. Mittlerweile ist es keine Besonderheit mehr, als Endgerät auch Smartphones und Tablets berücksichtigen zu müssen.

Diese Geräte sind heutzutage vollgepackt mit vielfältigen technischen Gimmicks: GPS-Modul, Beschleunigungssensor, Kontaktverwaltung, Kamera uws. gehören bei iPhone, Android & Co. zum Standard. Eine für mobile Geräte optimierte Webseite hat oft nur eingeschränkten Zugriff auf diese Funktionen.

Für den vollen Zugriff benötigt man eine App, die direkt auf dem mobilen Gerät installiert wird. Als Entwickler muss man sich dann vor seinen Rechner setzen und die App für das iPhone oder für Android entwickeln. Die entsprechenden Entwicklungswerkzeuge sind für sich genommen sehr komfortabel. Nur ist man zunächst einmal an eine der SmartPhone-Welten gebunden.

Das ist natürlich sehr unbefriedigend, wenn man einen großen Anwenderkreis ansprechen will.

Doch wie kommt man zu einer brauchbaren App, die auf vielen mobilen Geräten läuft, ohne sich allzu tief in die speziellen Niederungen der Android- oder iOS-Entwicklung hinab begeben zu müssen?

Hybride Apps

Die Antwort auf diese Frage sind hybride Entwicklungs-Frameworks wie z.B. PhoneGap oder Titanium.

Diese Werkzeuge bieten eine einheitliche Programmiersprache, mit der Apps für unterschiedliche Zielplattformen entwickelt werden können.

Die Frameworks werden als Hybride bezeichnet, weil sie zum einen die Funktionalitäten nativer Apps anbieten können. Mit vollem Zugriff auf die Hardware können sie die Kamera, GPS-Modul usw. nutzen. Zum anderen werden sie jedoch nicht in der nativen iPhone- oder Android-Programmiersprache, also Objective-C oder Java geschrieben. Bei den genannten Frameworks arbeitet man mit JavaScript, CSS und HTML5.

Mit diesem Ansatz erreicht man recht schnell brauchbare Ergebnisse, ohne sich in die Besonderheiten einzelner mobiler Plattformen einarbeiten zu müssen.

Diesen Vorteil erkauft man sich jedoch damit, dass sich die App später nicht genau wie eine native App „anfühlt“.

Womit wir zu den Nachteilen hybrider Apps kommen.

Nachteile

PhoneGap bildet die echten Bedienelemente von iOS und Android lediglich nach. Es verwendet eine WebKit-Engine, die JavaScript, HTML und CSS auf den mobilen Geräten zur Laufzeit interpretiert. Im Vergleich zu kompilierten, nativen Apps hat man also einen Geschwindigkeits-Nachteil. Das macht sich direkt bei der Bedienung bemerkbar. Zwischen dem Antippen des Touch-Screens und der Reaktion der App gibt es meist merkbare Latenzen. Titanium verwendet zumindest native Bedienelemente, die Implementierung der Anwendungslogik erfolgt aber auch hier mittels JavaScript.

Dazu kommt, dass viele Programmierfehler bei interpretiertem Code erst zur Laufzeit, also während der Benutzung, zutage treten.

Der Build-Prozess gestaltet sich ebenfalls etwas komplizierter. Wird eine PhoneGap-App für Android entwickelt, kann dies mit der IDE Eclipse erfolgen. Eclipse erzeugt eine APK-Datei, die mit eine Android-SmartPhone direkt verwendet werden kann. Soll die gleiche App jetzt auf das iPhone gebracht werden, benötigt man entweder die dazu gehörige IDE Xcode oder einen kostenpflichtigen, Cloud-basierten Dienst von PhoneGap. Das gleiche gilt auch für Titanium.

Mehr Entwicklungsaufwand fällt an, wenn die App trotz der Verwendung eines hybriden Frameworks nativ aussehen soll – also, wenn sie auf einem iPhone genauso aussehen soll wie eine native iPhone-App und auf einem Android genau so wie eine native Android-App. In diesem Fall muss sie für jede unterstützte Plattform eine eigene Benutzeroberfläche zur Verfügung stellen.

Auf die Software-Qualität kommt es an

Diese Nachteile sind jedoch beherrschbar, wenn die Entwickler sorgfältig arbeiten und hinreichender Aufwand ins Qualitätsmanagement gesteckt wird. Dies ist gerade bei mobilen Apps besonders kritisch, da es über die Rating-Funktionen in den App-Stores und -Markets sehr schnell und für die ganze Welt sichtbar, gnadenloses Feedback der Anwender gibt.

Insofern gelten bei der App-Entwicklung dieselben Anforderungen an qualitativ hochwertige Software, die auch bei der Entwicklung von Nicht-App-Software schon immer gegolten haben.

Weblinks

Holisticon AG — Teile diesen Artikel

Über den Autor

Jan Weinschenker

Jan beschäftigt sich sich seit knapp sieben Jahren mit dem Design, der Entwicklung und der Verbesserung von verteilten Web- und Unternehmensanwendungen. Die Erstellung solider, qualitativ hochwertiger Software, sowie deren Wartbarkeit liegen ihm dabei besonders am Herzen. Jan Weinschenker ist Organisator des Web-Performance-Meetups Hamburg.

Antwort hinterlassen