Sie haben eine Idee und auf dieser Basis eine App programmieren? Tatsächlich ist es heutzutage so, dass das Programmieren von Apps für das Smartphone oder den Tablet PC kein Hexenwerk mehr ist. Mithilfe von zahlreichen freien Entwicklern hat man heute recht einfach die Möglichkeit, auf einen dieser Dienstleister zurückzugreifen. Ebenso ist In-House-Programmierung Festpreis mittlerweile kein Problem mehr. Allerdings gilt es auf ein paar Dinge zu achten, bevor man sich an die tatsächliche Entwicklung einer App heranwagt. Wenngleich das Programmieren dieser Apps bei Weitem nicht so kompliziert ist, wie es dem einen oder anderen erscheinen mag, so ist es dennoch zur gleichen Zeit auch kein Kinderspiel.

Grundsätzlich kann man sagen, dass je besser die Basis des Programmier-Vorgangs ausgearbeitet ist, desto leichter hat man im weiteren Verlauf die Möglichkeit, neue Modelle oder Systeme damit zu unterstützen.

Wie bei allen Software-Entwicklungsprozessen, stellt sich auch bei einer App zu aller erst die Frage, was das Programm schlussendlich eigentlich können soll. Um welche Art von App handelt es sich und welche Inhalte sollen dabei im Vordergrund stehen? Dabei gibt es sehr umfangreiche Programme, wie zum Beispiel Spiele oder systemnahe Tools. Auf der anderen Seite gibt es jedoch auch viele App-Ideen, die sehr simple zu portieren sind, da sie zum Beispiel hauptsächlich eine angepasste Version einer Webpage sind. In so einem Fall werden in der Regel nur wenige System-APIs genutzt.

Gerade die aktuell zahlreich vertretenen Social Networks greifen häufig auf die angesprochenen App-Lösungen zurück, die sich wie oben schon angesprochen, meist auf eine Art angepasste Browser-Version berufen. Dabei spiegelt die App die Inhalte wieder, die auch auf einer Homepage vorzufinden sind, jedoch angepasst an die Anforderungen einer App, für Smartphone oder Tablet-PCs.

Man spricht bei solchen Apps sehr häufig von sogenannten Hybrid-Apps. Merkmale dieser Hybrid-Apps sind vor allem die Einfachheit der Programmierung und ebenso die recht simple Portierung. Als Entwickler hat man hierbei die Möglichkeit, auf die schon vorhandenen implementierten Funktionen diverse Browser zurückzugreifen. Die Rede ist dabei von Chrome für Android, Edge für Windows 10 oder auch Safari für Mac OS bzw. iOS.

Der Aufwand innerhalb des Entwicklungsprozesses bei solchen Hybrid-Apps bezieht sich vor allem auf die Anpassung der Webseite. Neben der einfachen Umsetzung solcher Hybrid-Apps bringt die gesamte Idee dieser Apps auch gewisse Vor- und Nachteile mit sich. So ist es zum Beispiel im Falle von vielen benötigten Systemfunktionen so, dass Hybrid-Apps sich dafür nicht immer ideal eignen. Werden viele Systemfunktionen benötigt, so sollte man stattdessen auf eine native Mobile-App setzen.

Kennzeichnend für eine native Mobile-App ist, dass diese im Entwicklungsprozess direkt auf der Programmiersprache des jeweiligen Betriebssystems aufbaut. Hier spricht man auch von SDK – Software Development Kit. Apple bietet hierbei XCode an und mit Android ist man auf Android-SDK angewiesen. Diese Programmiersprachen bieten Entwicklern also die Möglichkeit, die jeweiligen App-Ideen direkt auf das Betriebssystem der jeweiligen Devices zu-zuschneiden.

Eine native App bringt dabei natürlich weitaus mehr Funktionen mit sich und bietet wesentlich mehr Freiheit für Programmierer, hinsichtlich des Ausarbeitens des Funktionsumfangs. So ist eine native App nicht zwangsläufig auf das Internet angewiesen und kann eigenständig fungieren. Der Portierungsaufwand ist jedoch gleichzeitig wesentlich höher, im Vergleich zu den angesprochenen Hybrid-Apps.

Eine weitere Möglichkeit, für die Ausgestaltung von App-Ideen sind Web-Apps ohne native Basis, die meist auf HTML 5 zurückgreifen oder auf Java. Solche „Web-Apps“ fungieren mehr oder weniger als Browser-App. Sie laufen auf jedem Betriebssystem und sind recht einfach umzusetzen. Größtes Problem bei Web-Apps ist jedoch, dass sich der Datenaustausch zwischen den Apps und dem jeweiligen Betriebssystem des Device, meist als sehr schwierig gestaltet. So ist zum Beispiel der Zugriff auf die Kamera mit einer Web-App, basierend auf HTML 5 oder Java, nicht möglich.

Vor dem tatsächlichen Ausgestalten einer App sollten also diese 3 Varianten der App-Entwicklung in Betracht gezogen werden. Auftraggeber und Entwicklerteam sollten dabei genau abwägen, welche Basis des Programmierens und welche Implementierung sich am sinnvollsten gestaltet, für die eigene App-Idee. Hat man diese Fragen ausgearbeitet und ist sich mit der Zielsetzung im Klaren, so steht der erfolgreichen Entwicklung einer eigenen App, nichts mehr im Wege.