, Apps Programmieren für Anfänger

Du möchtest also eigene Apps Programmieren und diese dann in einem App Store Deiner Wahl veröffentlichen. Aber wer hat schon Zeit, sich viele lange Tutorials anzuschauen und sich dann mit Problemen rumzuschlagen, die nicht im Tutorial beschrieben wurden. In diesem Artikel erfährst Du alles, um den nächsten Schritt beim Programmieren von Apps fürs Smartphone zu vollziehen. Was genau musst Du lernen ? Auf welchen Plattformen kann man entwickeln? 

Apps programmieren, aber was ist das eigentlich?

Apps sind eigentlich normale Computerprogramme, die allerdings auf einem mobilen Gerät ausgeführt werden. Ihre Funktionen können dabei variabel sein z.B.: Für einen Kommentar zur aktuellen politischen Lage oder auch einfach nur eine kalendarische APP für ein Foto Studio. Sie besitzen die Besonderheit, auf die Sensorik und Hardware des Geräts zugreifen zu können. Um diese nutzen zu können, stellen die Hersteller sogenannte Programmierbibliotheken zur Verfügung. Mit ihnen kann man die Hardware in seinen Apps ansprechen. Der Touchscreen, das Merkmal des Smartphones. Als Programmierer musst Du Deine Apps darauf auslegen, dass sie über diesen Bildschirm benutzt und skaliert werden können. Wenn das erfüllt wird, ist eine App oder eine Webseite responsive, was dem momentanen  Standard entspricht.

Welche Plattform möchtest Du bedienen?

Eines musst Du wissen, leider existiert kein Universalsystem! Alle Hersteller nutzen unterschiedliche Betriebssysteme, die nicht kompatibel zu einander sind. Willst Du nun eine App mit Kommentar Funktion für das Iphone erstellen, musst Du über spezifisches Wissen für diese Umgebung verfügen. Kommen wir zu den einzelnen Plattformen:

Android

Google’s Android: eines der meistgenutzten Betriebssysteme für mobile Geräte. Viele Hersteller wie Samsung, Sony, etc. produzieren ihre Geräte mit Android.

Im Play-Store direkt von Google, in dem man die Apps findet und auf das eigene Gerät installieren kann, werden die Applikationen veröffentlicht. Es existieren aber auch weitere Stores, in denen man Android oder iOS Apps erhält. So hat meist jeder Hersteller und auch große Unternehmen einen eigenen Store. Um dort zu veröffentlichen, muss man sich als Entwickler anmelden. Bei Google kostet das eine einmalige Gebühr und dann kann man seine Apps dort zum Download oder zum Verkauf anbieten. Wird eine App verkauft, behält der Storebetreiber meist eine kleine Provision ein. Um für die Android Plattform zu entwickeln muss man man Java lernen und das Android SDK installieren.

iOS

iOS von Apple ist das Betriebssystem für das iPhone, iPad und iPod. Es gibt keinen Hersteller, der dieses Betriebssystem nutzt, außer Apple selbst. Die Apps erhält man über den sogenannten AppStore bzw. iTunes. Um Apps für diesen Store zu entwickeln, muss man sich im Apple Developer Programm registrieren und eine jährliche Gebühr zahlen. Es fallen beim Verkauf von Apps Zahlungen an Apple an. Um hier zu programmieren, benötigt man einen Apple Computer mit Mac OSX, nur hier existiert die Programmierumgebung XCode. Als Sprache wird entweder mit Objective-C oder den neuen Apple-eigenen Programmiersprache Swift gearbeitet

Andere Plattformen

Neben diesen zwei wohl Bekanntesten gibt es aber auch noch weitere Marktteilnehmer wie Blackberry und das Windows Phone mit verschiedene Betriebssystemen. Alle haben ihre eigene Programmierumgebung, nutzen eine andere Programmiersprachen und haben auch eigene Stores.

App-Arten 

Native Apps

Native Apps sind mit der Programmiersprache des Herstellers geschrieben, siehe vorangegangene Plattform. Lernen musst Du zunächst das Programmieren in der jeweiligen Sprache des Herstellers für den Du Deine App erstellen möchtest. Um Deine künftige App also universell zugängig zu machen müssen sie für jede Plattform die jeweilige Sprache und Umgebung erlernen und umsetzten. Dies kann sehr aufwendig werden, sofern Du nicht ein Entwickler Studio mit einem kompletten Team im Rücken hast.

Web Apps

Diese Apps, auch HTML5 Apps genannt, sind plattformübergreifende Anwendungen, die meistens im Browser laufen. Jedes moderne Smartphone besitzt einen Internet-Browser, somit können Web Apps auf allen Plattformen genutzt werden. Im Hintergrund stehen die üblichen Web Technologien wie HTML5, CSS, JavaScript. Durch starke Verbreitung von HTML5 ist mittlerweile die Grenze zwischen den Web Apps und „normalen“ Websites ziemlich fließend.

Hybride Apps

Wie im Name beschrieben, sind solche Apps eine Kombination von den beiden Formen und ein Versuch das Beste beider Arten in einer Anwendung zu installieren. Hybride Apps basieren auf den Web Technologien wie HTML5, CSS, JavaScript, laufen aber in einem Webview Container, sind als native Apps verpackt und können somit auf native APIs und Funktionen vom Betriebssystem zugreifen. Hybride Apps werden ebenfalls über den App Store verteilt.

Vorsicht! Baukasten Apps

Mittlerweile existiert ein schier unendliches Angebot an sogenannten App-Baukästen. Es wird nur „geklickt“ und die App ist zusammen zusammengebaut anstatt Programmiert. Eine ähnliche Art gibt es auch für Webseiten. Dies klingt zunächst einmal verständlicherweise verlockend. Aber Vorsicht! Die meisten Baukästen kosten eine monatliche Gebühr und ihr Gebrauch schränkt den Funktionsumfang der erstellten Apps ein. Sobald  speziellere Funktionen genutzt werden wollen, musst Du entweder die Spezialentwicklung beim Anbieter beauftragen, oder fängst wieder bei 0 an.  Dann bist Du gezwungen, das ganze selbst nochmal zu programmieren. Das heißt nicht, dass grundsätzlich alle Baukästen schlecht sind, für ganz kleine Standardprogramme mögen sie funktionieren, aber es kann schnell in doppelten Aufwand enden. 

Das brauchst Du für Deinen Start:

Solltest Du noch gar keine Kenntnisse vom Programmieren haben, dann starte mit der Webentwicklung und mit Javascript. Damit erlernst Du die Grundlagen. Mit Javascript lassen sich gerade zu Anfang viele Erfolge erzielen. Nutze den Ratgeber oder auch kurze Tutorials von verlässlichen Quellen z.B.: Vom Android Developer Programm.

Programmiere nicht einfach drauf los, sondern erarbeite zunächst eine Wissenbasis. Von dort an arbeitest Du gezielt weiter, und eventuell steht schon bald unter Deiner App ein herausragend bewertender Kommentar. Zu guter letzt solltest Du immer auf dem aktuellen Stand der Plattformen bleiben, dazu hier eine Tabelle mit allen Versionen von Android und Supportstatus:

NameVeröffentlichungSupportstatus
Android 1.0September 23, 2008Unsupported
Android 1.1February 9, 2009Unsupported
Android 1.5April 27, 2009Unsupported
Android 1.6September 15, 2009Unsupported
Android 2.0 – 2.1October 26, 2009Unsupported
Android 2.2 – 2.2.3May 20, 2010Unsupported
Android 2.3 – 2.3.7December 6, 2010Unsupported
Android 3.0 – 3.2.6February 22, 2011Unsupported
Android 4.0 – 4.0.4October 18, 2011Unsupported
Android 4.1 – 4.3.1July 9, 2012Unsupported
Android 4.4 – 4.4.4October 31, 2013Unsupported
Android 5.0 – 5.1.1November 12, 20145.1.x Supported
Android 6.0 – 6.0.1Oktober 5, 2015Supported
Android 7.0 – 7.1.2August 22, 2016Supported
Android 8.0 – 8.1August 21, 2017Supported