Die App-Programmierung hat im Bereich IT in den letzten Jahren einen immer höheren Stellenwert eingenommen. Denn gerade mobile Apps ermöglichen es Entwicklern, ihren Kunden einen immer schnelleren Service auf gewünschte Services oder Produkte anzubieten und dabei eine Funktionalität zu erreichen, welche den Zugriff über eine Website bei weitem übersteigt.
Was bedeutet App-Programmierung genau?
Apps (kurz von Application - Anwendung) ist die gängige Bezeichnung für Programme auf Mobilgeräten (also Smartphones, Tablets oder auch Smartwatches). In den letzten Jahren hat sich der Begriff App auch immer häufiger für Programme auf PC oder Laptop eingebürgert, in der Regel ist hier aber noch von einer mobilen Anwendung die Rede.
Apps müssen daher einige besondere Anforderungen der Endgeräte erfüllen, sie müssen mit einem Touchscreen funktionieren und entsprechend intuitive Eingaben ermöglichen, sie müssen in der Auflösung skalieren und sie müssen auf den verschiedenen mobilen Betriebssystemen funktionieren.
Dominant unter den Betriebssystemen von Smartphone und Tablet sind Googles Android und Apples iOS.
Programmiersprachen bei der App-Programmierung
Die Programmierung einer App selbst funktioniert dabei auch nicht anders als die Programmierung in anderen Programmiersprachen. Geschrieben wird die App im Code einer Programmiersprache. Bei Android sind Java-Kenntnisse und das Entwicklerplaket SDK vonnöten, bei Apples iOS wird die Programmierumgebung XCode genutzt. Diese ist nur auf Mac-Computern lauffähig, die Programmiersprache ist entweder Apples neue Codekreation Swift oder Objective-C.
Zudem erfordert die Publizierung auf iOS eine Registrierung im Apple Developer-Programm und eine jährliche Registrierungsgebühr. Dafür sind die User von iOS-Geräten häufiger bereit, Geld für Apps zu bezahlen. Ein großer Anteil der Apps auf Android ist kostenlos und wird durch Werbung finanziert.
Neben der Beherrschung der entsprechenden Programmiersprachen, was selbstverständlich Know-How, Einarbeitung und ein gewisses Grundwissen moderner Informatik voraussetzt, können Apps auch im Baukastenprinzip erstellt werden.
Analog zu Baukastensystemen wie Wordpress, Squarespace oder Wix werden auch App-Baukästen angeboten, in denen Apps aus einigen standardmäßig gefertigten Komponenten "programmiert" werden können. Dies ist natürlich deutlich einfacher als die App-Programmierung in Code Sprache, erlaubt allerdings auch nicht das gleiche Maß an Individualisierung.
App-Programmierung in HTML5
Neben nativ für mobile Betriebssysteme entwickelten Apps ist auch die Programmierung in HTML5 möglich, indem die Apps als responsiv designte Web Apps entwickelt werden. Diese werden über den Browser ausgeführt, können aber auch leicht als eigenständige App für den jeweiligen App Store "zweckentfremdet" werden.
In Punkto Funktionalität unterscheiden diese Apps sich nur geringfügig von nativen Apps, für Entwickler haben sie vor allem den Vorteil, dass nicht noch eine zusätzliche Programmiersprache gelernt werden muss. Stattdessen reichen Kenntnisse in Javascript aus. Außerdem gibt es hier einfach zu handhabende Bibliotheken wie Apache Cordoba für webbasierte Apps.
Generell sollten Bibliotheken stets als notwendiger Shortcut bei der App-Programmierung verstanden werden. Denn hier finden sich Komponenten, Objekte und Funktionen, die in vielen Apps zum Standard gehören (etwa Animationen, Kamerazugriff, ortsbasierte Funktionen oder Texteingabefelder). Diese Standardfunktionen jedes Mal neu zu programmieren, würde nur wertvolle Ressourcen verschlingen.
Aus der Webentwicklung heraus ist es vergleichsweise leicht, eine native App zu erzeugen. Gerade das macht diesen Weg für Einsteiger, die nicht professionell für eine OS-Plattform entwickeln wollen, so reizvoll.
Die Schritte der App-Programmierung
Bevor es allerdings überhaupt an das Schreiben in Code geht, stehen zunächst einmal andere Designschritte im Vordergrund. Eine gründliche Analyse der gewünschten Nutzung und des Bedarfs können oftmals bereits im Vorfeld klären, was die App können muss oder ob vielleicht doch eine Implementierung auf der eigenen Website sinnvoller ist.
Zudem steht bei Apps nicht nur die Funktionalität im Vordergrund, auch Design und Usability sind Schlüsselfaktoren für den Erfolg einer App. Letztlich muss die App während der Programmierung auch stets intern und (ab der Beta-Phase am besten auch) extern geprüft werden.
Dadurch kann nicht nur die Praxistauglichkeit der App festgestellt werden, tatsächliche Nutzungsszenarien offenbaren auch Schwachstellen und Optimierungsbedarf in der App. Denn Nutzer erwarten auch einen regelmäßigen Support, welcher für Updates und Optimierungen sorgt.