ABC der App-Entwicklung

Was ist was im Mobile Development?

08.10.2015 von Stefan von Gagern
Wenn es an die erste eigene App geht, kommen viele erstmals mit Mobile-Entwicklern zusammen - und stellen fest, dass sie eine komplett eigene Sprache sprechen. Wir erklären die wichtigsten Begriffe im App-Development.

Dass Entwickler eine eigene Sprache sprechen, ist bekannt. Im Mobile App Development gibt es nicht nur Bugs und Code, darüber hinaus gibt es noch einmal besondere Fachbegriffe rund um App Stores, User, Devices und vielem mehr. Zum Glück wiederholen sie sich oft und hinter kryptischen Abkürzungen stecken oft gar nicht so schwierig zu verstehende Begriffe. Jedenfalls lohnt es sich die Grundlagen der App-Entwicklung drauf zu schaffen. Entwickler schätzen es sehr, wenn man sich halbwegs auf einer gemeinsamen Basis verständigen kann. Wir erklären die wichtigsten Fachbegriffe im Mobile App Development.

Was ist was im Mobile App Development
App / Native App / Web App
Klar, Apps kennt und nutzt heute jeder, trotzdem kennen viele die kleinen Unterschiede der Apps nicht. Der Alltags-Begriff ist einfach die Kurzform für „Applikation“, also ein Programm dass auf einem Computer, in diesem Fall also dem Smartphone läuft. Meistens ist mit dem etwas schwammigen Begriff eine „native“ App gemeint, die direkt auf dem mobilen Betriebssystem laufen kann. Eine Web App ist ein Programm, das zum Ausführen den mobilen Webbrowser als Umgebung braucht.
API
Entwickler verbinden oft ihre eigens entwickelten Apps über APIs (Application Programming Interface) mit bestehenden Apps oder Plattformen. Beispiel: Wenn aus einer App etwas auf sozialen Netzwerken geteilt werden soll, kommen Plattformen wie Facebook oder Twitter ins Spiel. Beide bieten eine entsprechende Schnittstelle, also die Facebook- oder Twitter-API, die das Einbauen solcher Funktionen einfach und umkompliziert möglich macht.
Android / iOS
Wie Computer brauchen auch Smartphones und Tablets ein Betriebssystem, auf dem die Programme (hier Apps genannt) laufen. Die wichtigen mobilen Plattformen sind Googles Android und Apples iOS. Mit Windows 10 will Microsoft künftig eine größere Rolle im Markt der Mobilgeräte erobern, als es mit dem nie aus der Nischenrolle gekommenen Windows Mobile gelang.
App Store
Ein wichtiger Teil des Erfolgs von mobilen Apps ist sie an den User zu bringen. Das läuft über die App Stores der verschiedenen Plattformen, den Apple Store für iOS und Google Play für Android-Apps.
ASO
ASO steht für App Store Optimization. Extrem wichtig für den Erfolg einer App ist, dass sie überhaupt im riesigen Angebot der App Stores gefunden wird. Verschiedene Maßnahmen helfen dabei, zum Beispiel das Icon der App aussagekräftiger zu machen, die App in die richtige Kategorie einzuordnen oder die Beschreibungstexte mit den richtigen Schlagwörtern zu versehen.
Build
Entwickler schreiben Quellcode und kombinieren ihn mit Grafiken und Inhalten. Damit daraus eine fertige App wird, muss alles kompiliert und als App für das Endgerät verpackt werden. Diesen Prozess und das Endprodukt nennt man Build. Verschiedene Builds enthalten oft Fehlerbehebungen und werden mit Versionsnummern gekennzeichnet.
Device Orientation
Eine Besonderheit unterscheidet mobile Apps wesentlich von anderen Programmen: Sie müssen oft in horizontaler und vertikaler Ausrichtung funktionieren. Die Entwickler fragen dazu die "Device Orientation" vom Kippsensor ab und schalten die Darstellung in den jeweiligen Modus...
Device Orientation /2
... Manche Apps laufen ganz bewusst nur in einer Ausrichtung wie zum Facebook nur im Hochformat.
Fragmentierung
Der große Unterschied der beiden Konkurrenten ist, dass iOS exklusiv mit Apple-Hardware wie iPhone, iPads und iPod Touch läuft, Android hingegen ist auf einer Vielzahl von Geräten und Herstellern präsent. Dazu kommen noch die vielen verschiedenen Versionen der Systeme, die verbreitet sind - von Android Ice Cream Sandwich bis Lollipop sind längst nicht alle User auf der neuesten Version unterwegs. Android ist also offen und sehr flexibel, aber auch stark fragmentiert - was ein Horror für Entwickler sein kann. Sie müssen dafür sorgen dass ihre Apps auf allen Geräten und Systemversionen möglichst stabil und fehlerfrei laufen, das Chaos auf der Android-Plattform ist aber kaum zu überblicken.
In-App Purchase
Nutzer können nicht nur Apps im Store kaufen, sondern auch Zusatzinhalte und -services direkt aus Apps kaufen und bezahlen, ohne die App verlassen zu müssen. In-App Käufe sind einerseits eine gute Möglichkeit den Usern das Ausprobieren der App kostenlos möglich zu machen. Andererseits wird Apps mit In-App Käufen oft angekreidet, später die User immer wieder zur Kasse zu bitten.
MEAP
Multiplattform-Entwicklung ist oft aufwändig, zum Beispiel wegen der aufwändigen Anpassung und dem Testen auf vielen Plattformen. Dabei hilft der Einsatz einer Mobile Enterprise Application Plattform (MEAP). Entwickler können sich dabei im Wesentlichen auf die Funktionen der App konzentrieren, um die Anpassung, die Auslieferung und das Testen für verschiedene Plattformen kommen sich die Produkte und Dienste der MEAP. Beispiele für MEAPs sind zum Beispiel <a href="http://www.swiftmeap.com" target="_blanik">Swift MEAP</a> und <a href="http://www.movilitas.de" target="_blank">Movilitas</a>.
Location Data
Eine große Stärke und Besonderheit der mobilen Geräte ist, dass sie über verschiedene Technologien wie GPS (Global Positioning System) oder NFC (Near Field Communication) ihren Ort ermitteln können. Mit diesen Daten in Apps lässt sich eine Menge anfangen, zum Beispiel Fotos mit Ortsdaten speichern oder in Shopping-Apps Angebote aus der Umgebung einblenden bis hin zu mobilen Bezahlsystemen, bei denen es reicht die Kasse zu passieren.
Minnows / Whales
Kleine und große Fische gibt es auch aus Sicht der App Entwickler: Minnows sind die User, die kein oder nur wenig Geld für oder in einer mobilen App ausgeben. Sie laden meistens nur kostenlose Apps oder Free to play-Spiele, die zunächst kostenlos zu haben sind. User, die viel Geld für oder in Apps ausgeben, nennen Entwickler Whales.
Monetization
App-Entwicklung ist teuer und bei jedem Projekt ist die Finanzierung der Kosten ein wichtiges, wie spannendes Thema, bei dem gute Ideen gefragt sind. Apps sind oft kostenlos oder für 0,79 Cent zu haben und müssen bei der Monetarisierung auf clevere Konzepte wie Werbeeinblendungen, Abos oder bezahlpflichtige Zusatzinhalte zurückgreifen, um sich zu refinanzieren.
Mobile App Analytics
Ähnlich wie auf Websites kann in mobile Apps die Aktivität der User ausgewertet werden. Die Tracking-Daten liefern den Entwicklern wertvolle Erkenntnisse was in der App funktioniert und wo nachgebessert werden muss.
Push Notification
Push-Benachrichtigungen machen es App-Entwicklern möglich kurze Nachrichten an die User zu schicken, sogar ohne dass die App überhaupt geöffnet ist. Sie sind eine Basis für praktische Features wie Erinnerungs-Funktionen, aber auch verlockendes Marketing-Instrument, zum Beispiel um auf Sonderangebote aufmerksam zu machen. Push sollte aber sehr sparsam eingesetzt werden, sonst droht der genervte User mit dem Abstellen der Benachrichtigungen - oder gar dem Löschen der ganzen App.
SDK
Das "Software Development Kit" liefert dem Entwickler seinen Werkzeugkasten für verschiedene Plattformen - zum Beispiel das Android SDK oder das iPhone SDK. SDKs liefern Werkzeuge wie Umgebungen um App-Oberflächen zu gestalten oder Simulatoren fürs Testen.
Touch User Interface Gestures
Eine Besonderheit von mobilen Apps ist dass sie über den Touchscreen bedient werden. Neben dem normalen Antippen gibt es Gesten wie das Wischen über dem Bildschirm oder das Zusammen- / Auseinander ziehen von zwei Fingern ("Pinch"), die oft für Vergrößerungsfunktionen genutzt werden.
UDID
Der Unique Device Identifier ist eine alphanumerische Zahl, die ein Endgerät identifiziert. Im Normalfall weist der Hersteller einem Gerät eine einmalige UDID zu. UDIDs sind oft wichtig um User oder Endgeräte zu identifizieren.
Universal App (auch: Hybrid App)
Eine mobile App, die auf mehreren Endgeräten laufen kann, aber die gleiche Plattform als Basis nutzt. Ein Beispiel ist eine mobile App für iOS, die auf iPhone, iPod Touch und iPad läuft.