Apps programmieren für Anfänger

Apps programmieren

Sie möchten also eigene Apps programmieren und diese dann in einem AppStore ihrer Wahl veröffentlichen. Aber hat schon Zeit sich viele lange Tutorials anzuschauen und sich dann mit Problemen rumzuschlagen, die nicht im Tutorial beschrieben wurden. In diesem Artikel erfahren sie alles um den nächsten Schritt beim Programmieren von Apps fürs Smartphone zu vollziehen. Was müssen sie lernen? Auf welchen Plattformen kann man entwickeln? Sie suchen Antworten auf diese Fragen, hier bekommen sie diese und starten mit der Entwicklung eigener Apps.

Apps programmieren, aber was ist das eigentllich?

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önne stellen die Hersteller sogenannte Programmierbibliotheken zur Verfügung. Mit ihnen kann man die Hardware in seinen Apps ansprechen. Der Touchscreen, dass Merkmal des Smartphones. Als Programmierer müssen ihre Apps darauf auslegen, dass sie über diesen Bildschirm benutzt und skaliert werden können. Wenn dies erfüllt wird ist eine App oder eine Webseite responsive, was dem momentanen  Standard entspricht.

Welche Plattform möchten sie bedienen?

Eines müssen sie wissen, leider existiert kein Universalsystem! Alle Hersteller nutzen unterschiedliche Betriebssysteme, die nicht kompatibel zu einander sind. Wollen sie nun eine z.B. eine App mit Kommentar Funktion für das Iphone erstellen müssen sie über spezifisches Wissen für diese Umgebung verfügen. Aber 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 ihr 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 mancAndroid 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 müssen sie zunächst das Programmieren in der jeweiligen Sprache des Herstellers für den sie ihre App erstellen möchten. Um ihre 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 sie nicht ein Entwickler Studio mit einem kompletten Team im Rücken haben.

Web Apps

Diese Apps, auch HTML5 Apps genannt, sind plattformübergreifende Anwendungen, die meistens im Browser laufen. Jedes moderne Smartphone besitzt einen Internet-Browse, 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, müssen sie entweder die Spezialentwicklung beim Anbieter beauftragen oder fangen wieder bei 0 an und sind gezwungen das ganze selbst nochmal 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. Also lernen sie Programmieren z.B.: Mit Java lieber gleich richtig.

Das bauchen sie für ihren Start:

Unser Vorschlag an sie: Sollten sie noch gar keine Kenntnisse vom Programmieren haben, dann starten sie mit der Webentwicklung und mit Javascript. Damit erlernen sie die Grundlagen. Mit Javascript lassen sich gerade zu Anfang viele Erfolge erzielen. Nutzen sie Ratgeber oder auch kurze Tutorials von verlässlichen Quellen z.B.: Vom Android Developer Programm; hier der Link: https://developer.android.com/training/basics/firstapp/index.html. Programmieren sie nicht einfach drauf los, erarbeiten sie zunächst eine Wissenbasis. Von dort an arbeiten sie gezielt weiter, und eventuell steht schon bald unter Ihrer App herausragend bewertender Kommentar. Zu guter letzt sollten sie immer auf dem aktuellen Stand der Plattformen bleiben, dazu hier eine Tabelle mit allen Versionen von Android und Supportstatus:

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