Android, iOS, Windows Phone

Der richtige Weg zur Multi-Plattform-App

27.09.2014
Von 
Stefan von Gagern ist diplomierter Medientechniker (FH) und war als Redakteur und Ressortleiter bei den Fachtiteln "Screen Busines Online" und "Page" tätig. Später lehrte er als Dozent für Medienkonzeption im Master-Studiengang "Multimedia Production" an der Fachhochschule Kiel. Heute schreibt er als freier Fachjournalist und Autor über Themen wie Publishing, Internet, Social Media und Digital Lifestyle. Parallel berät er Unternehmen bei der Konzeption und Umsetzung von Social-Media-Auftritten.
Als wäre es nicht schon schwierig genug, eine gute mobile App zu entwickeln, hält die Ausrichtung auf mehrere Mobil-Plattformen noch ein paar Hürden parat. Wir zeigen, wie man sie meistert.

"Es gibt eine App dafür", lautet ein berühmtes Zitat von Apple-Gründer Steve Jobs und er hat damit heute mehr Recht denn je. So gut wie keine Branche oder Anwendungsgebiet, in dem eine App nicht irgendwie helfen kann. Von der hochspezialisierten Business-App bis hin zu Games: Die App-Branche boomt nicht nur, sie ist ein eigener Wirtschaftszweig geworden. So wie die eigene Website zur Pflicht wurde, kommt heute kaum ein Unternehmen daran vorbei, eine oder mehrere Apps anzubieten.

Ein mobiles System kommt selten allein

Im Developer Economics Report werden regelmäßig die neuesten Trends der App-Entwicklung erforscht.
Im Developer Economics Report werden regelmäßig die neuesten Trends der App-Entwicklung erforscht.

Eine App lebt heute selten nur auf Android oder nur auf iOS - Multi-Plattform-Tauglichkeit ist angesagt. Wer viel Geld in die Entwicklung von Apps steckt, diese dann aber oft lächerlich günstig oder gar gratis vertreibt, um oft einfach nur Reichweite zu erzielen, muss eben auf mehrere "Zugpferde" gleichzeitig setzen. Allein schon wegen der riesigen Konkurrenz: So tummeln sich derzeit m iTunes App Store 1,2 Millionen verschiedene Apps. Hier aufzufallen und dann auch noch Geld zu verdienen, ist schwierig. Laut Developer Economics Report bleiben 60 Prozent aller Entwickler dauerhaft unter der "App-Armutsgrenze" - sie verdienen weniger als 500 Dollar pro App und Monat.

Dem Nutzer die Wahl überlassen

Wer auf mehrere Marktplätze setzt, hat mehr Chancen auf Erfolg - eine Binsenweisheit. Standard-Apps wie Facebook oder Dropbox, Fahrplanauskunftsdienste oder auch Remote-Anwendungen für Fernseher sollten per se auf allen Plattformen verfügbar sein - deren Zielgruppe ist so groß, dass diese selbst entscheiden sollte, wo sie sie einsetzt.

Der durchschnittliche Entwickler arbeitet für 2,5 Plattformen - so heißt es im bereits erwähnten Developer Economics -, im vorherigen Quartal waren es noch 2,9. Der leichte Rückgang begründet sich dadurch, dass sich immer mehr Entwickler um mehrere Plattformen kümmern, sich dabei aber auf die erfolgreichsten konzentrieren - Android und iOS. Die Entwickler gehen dorthin, wo die besten Chancen warten - zumindest zweigleisig zu fahren, wird aber immer mehr zur Pflicht. So muss sich jeder, der Apps entwickelt, früher oder später mit Multiplattform-Development beschäftigen. Folgender Fahrplan führt dabei zum Erfolg.

Die Technologie: Nativ, Web oder Hybrid?

Jede mobile Plattform wartet mit eigener Programmiersprache auf, die Entwickler beherrschen müssen. Hinzu kommt ein Set an Werkzeugen, Programmen und Dokumentationen, das so genannte SDK (Software Development Kit), mit dem eigene Anwendungen erstellt werden. Wer für iOS entwickelt, muss sich mit Objective-C und dem Cocoa SDK beschäftigen, bei Android sind es Java und ADK. Wer das volle Potenzial der Hardware nutzen möchte - zum Beispiel auf die Kamera und Sensoren des iPhone zugreifen -, kommt oft nicht drum herum, auf die native Entwicklungsplattform zu setzen. Einfach ausgedrückt: Nativ heißt maximale Möglichkeiten, aber mehr Lernaufwand (oder teures Know-How, das eingekauft werden muss).

Die Möglichkeit, mit nur einem Quellcode gleich mehrere Plattformen bedienen zu können, klingt deshalb verlockend. Web-Apps auf Basis von HTML5 zum Beispiel laufen auf allen Geräten mit einer einzigen Codebasis. Wer sicher gehen möchte, wirklich alle Nutzer zu erreichen, setzt oft zusätzlich auf Web-Apps mit HTML5, wie es beispielsweise Facebook neben seiner nativen App noch macht. Web-Apps bedeuten maximale Reichweite, relativ simple Entwicklung mit aus dem Webdesign bekannten Technologien, aber auch einige Abstriche: So laufen sie nicht ohne mobilen Browser, bei der Performance und dem Zugriff auf Hardware gibt es zudem Einschränkungen.

Die Dritte im Bunde ist die Hybrid-App, die Vorteile aus den beiden letzten Ansätzen zu kombinieren versucht: Entwickler können den Großteil der Applikation mit Web-Technologien programmieren, gleichzeitig aber ähnlich umfassend wie mit nativen Apps auf das Betriebssystem zugreifen. Das Ganze funktioniert mit einem Trick: Der native Teil der App läuft direkt auf dem Betriebssystem. Sie stellt eine HTML-Rendering-Engine und eine Art "Brücke" zum OS bereit. So kann Web-Code in seiner Umgebung laufen und dank der Verbindung durch die Brücke trotzdem alle Features der Hardware und des Systems nutzen.

Die Entwickler müssen für den hybriden Ansatz entweder eine eigene "Brücke" entwickeln oder sie nutzen eine fertige Lösung wie Phonegap, die die Entwicklung auf Basis von HTML, CSS und JavaScript und zusätzlich die Auslieferung der Apps an alle relevanten Mobilplattformen erlaubt. Phonegap bietet ein gebrauchsfertiges Framework mit einer Funktion für die Einbettung in native Apps. Leicht andere Ansätze, aber mit ähnlichem Ziel - der einfachen Cross-Plattform Entwicklung - verfolgen Alternativen wie Appcelerator Titanium oder Sencha.

Ein Code, viele Plattformen: Phonegap bietet eine Lösung für die Produktion von hybriden Apps.
Ein Code, viele Plattformen: Phonegap bietet eine Lösung für die Produktion von hybriden Apps.
Foto: Stefan von Gagern

Aber auch mit Frameworks und Hybrid-Apps gibt es Abstriche: Oft sind die Möglichkeiten im Vergleich zur nativen App doch eingeschränkter, die Performance mau und manche Dinge funktionieren offline gar nicht oder nur mäßig.

Tipp: Jeder Entwickler-Ansatz hat Vor- und Nachteile. Es gilt deshalb, den besten Kompromiss zu finden, oder - falls der Kompromiss nicht drin ist - mehrgleisig zu fahren.

Sencha ist ein neben Phonegap ebenfalls sehr beliebtes HTML5-Framework.
Sencha ist ein neben Phonegap ebenfalls sehr beliebtes HTML5-Framework.
Foto: Stefan von Gagern

Das UI-Design: Einheitlich, aber individuell

Idealerweise sollten Apps auf allen Kanälen gleich aussehen - egal ob auf PC, Tablet, iOS- oder Android-Smartphone. Das ist aber längst nicht alles - denn "gleich" ist nicht immer "gleich". Es geht vielmehr darum, dass sich der Nutzer auf iOS und Android sofort zuhause fühlen und intuitiv das erledigen kann, was er gerade vorhat. Gleichzeitig gibt es spezielle Mechanismen auf jeder Plattform. Einen Link zu teilen, ist unter Android etwas anderes als unter iOS, ein Datum eintippen unterscheidet sich ebenso wie die Texteingabe in Formularen. Android- und iOS-User erwarten dass die Eigenheiten ihrer Plattform in gewohnter Art genutzt werden und typische Mechanismen funktionieren.

Tipp: Es klingt paradox, aber ist möglich - Entwickler müssen beim Interface Design gleichzeitig vereinheitlichen und spezifisch arbeiten. Sie müssen eine plattformübergreifend einheitliche Bedienung innerhalb der App anbieten, gleichzeitig aber das "Look and Feel" von iOS oder Android einfließen lassen.

Die Spotify-App sieht auf iOS und Android auf den ersten Blick gleich aus, bietet aber kleine und feine, plattformspezifische Unterschiede.
Die Spotify-App sieht auf iOS und Android auf den ersten Blick gleich aus, bietet aber kleine und feine, plattformspezifische Unterschiede.
Foto: Stefan von Gagern

Fokussieren

Es ist schon schwierig, unter den 1,2 Millionen Apps für iOS etwas (nicht) zu finden, was es noch nicht gibt - durch die Unmengen von Android-Apps verstärkt sich diese Herausforderung noch weiter. Innovation und neue Ideen sind also gefragt, statt die hundertste Version einer To-Do Listen-App auf den Markt zu werfen. Wer eine gute Idee hat, sollte den Aufwand für die Multiplattform-Anpassung direkt in die Planung mit einbeziehen, sonst ist die Gefahr des Sich-Verzettelns zu hoch. Also vielleicht besser zum Start der App erst einmal nur die Handvoll der wichtigsten Features umsetzen - nicht gleich alles umsetzen wollen!

Es kann auch clever sein, sich zunächst auf eine Plattform zu konzentrieren - im besten Fall auf die, die für die Zielgruppe am relevantesten erscheint. Viele Entwickler starten mit iOS, weil dort das Testen deutlich einfacher ausfällt. Statt hunderte potenzielle Geräte wie bei Android, muss die App nur auf Apples Smartphone- und Tablet-Modellen durchprobiert werden.

Tipp: Beim Start in Sachen Feature-Vielfalt und Plattform-Ambitionen bescheiden sein. Am besten einen soliden Start mit wenigen Features und einer Plattform hinlegen und sich erst dann auf die nächsten Schritte konzentrieren.

Immer auf dem Stand bleiben

Ist die eigene App in einem Store vom Stapel gelaufen, fängt die Arbeit oft erst an. Nach dem Start beginnt die ständige Weiterentwicklung und Verbesserung. So müssen etwa ständig Fehler behoben, Sicherheitslücken gestopft und Anpassungen an neue Betriebssystem-Versionen, Hardware oder Basistechnologien wie Webstandards vorgenommen werden. Die Nutzer nehmen es einem schnell übel, wenn eine App verwaist und nach dem Update auf iOS 7.1.1 plötzlich ständig abstürzt. Sie quittieren das in der Regel mit schlechten Bewertungen im App Store oder deftigen Kommentaren im sozialen Web. Schnell ist der Ruf ruiniert und die Nutzer haben für sich eine Alternative gefunden. Qualitätssicherung ist also Pflicht für App-Entwickler.

Tipp: Die Grundlage für die kontinuierliche Verbesserung der App ist das Feedback. Wichtig ist das Zuhören, sprich das Lesen von Kunden-Mails und Kritiken im App Store. Das hilft auch beim Verbessern der Anwendung und der Entwicklung neuer Features.

Das ständige Verbessern und Weiterentwickeln einer App sichert die Qualität - und damit den Erfolg - wie hier im Bild am Beispiel Wunderlist.
Das ständige Verbessern und Weiterentwickeln einer App sichert die Qualität - und damit den Erfolg - wie hier im Bild am Beispiel Wunderlist.
Foto: Stefan von Gagern

Raus aus der Isolation

Jede App ist heute umgeben von anderen Apps. Viele dieser anderen Apps können Vorteile für die eigene bringen. Man stelle sich zum Beispiel Spotify ohne Facebook vor: Der Musikdienst wäre nur halb so aufregend und erfrischend anders als viele seiner Vorgänger. Entwickler müssen also das Smartphone und das Ökosystem der Apps und Web-Plattformen als Chance statt Bedrohung begreifen. Viele Entwickler haben das bereits - die erfolgreichsten Plattformen stellen anderen ihr Können per Programmierschnittstelle, einer so genannten API (Application Programming Interface), zur Verfügung - und profitieren am Ende selbst davon.

Facebook beispielsweise liefert an Spotify viele "soziale" Funktionen. Der Spotify-Nutzer kann sehen, was seine Facebook-Freunde gerade gehört haben. Facebook profitiert dadurch, dass es durch Spotify Daten sammeln kann, was seine User an Musik hören und auf Basis der gesammelten Daten Werbung zielgerecht verkaufen.

Viele Apps können durch Anbindung an andere profitieren oder sich selbst öffnen, um ihre Nutzerbasis zu vergrößern. Möglichkeiten gibt es viele: Datenabgleich per Dropbox oder anderer Cloud-Dienste, Anbindung an soziale Netze und vieles mehr erweitern fast jede App.

Tipp: Wer immer nur in einem geschlossenen System, innerhalb der Grenzen seiner eigenen App, denkt, verpasst Chancen. Also immer Ausschau nach Erweiterungsmöglichkeiten halten. (sh)