Die eigene App programmieren – Der Einstiegsratgeber

Die eigene App programmieren
Du möchtest also eine App programmieren und diese dann in einem AppStore deiner Wahl veröffentlichen. Du möchtest das natürlich so schnell wie möglich tun, richtig? Wer hat schon Zeit sich 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 zu deiner ersten eigenen App zu machen. Was musst du lernen? Welche Plattformen muss man beachten? Kann man sich die Arbeit vereinfachen und wenn ja, wie? Egal ob du bereits Programmiererfahrungen hast oder nicht. Hier ist dein Startpunkt für deine eigene App.

Was sind Apps?

Apps sind eigentlich stinknormale Computerprogramme, die allerdings auf einem mobilen Gerät ausgeführt werden. Diese haben die Besonderheit, auf die Sensorik und Hardware des Geräts zugreifen zu können. Dafür stellen die Hersteller sogenannte Programmierbibliotheken zur Verfügung. Damit kann man relativ einfach (relativ, weil man technisches Verständnis aufbauen muss) die Hardware in seiner eigenen App verwenden. Ein Merkmal, dass bei Apps besonders heraussticht ist der Touchscreen. Programmierer müssen ihre Apps darauf auslegen, dass sie über einen kleinen oder auch großen Bildschirm benutzt werden können. Webseiten und App müssen sich der Größe des Bidlschirms anpassen. Wenn dies erfüllt wird ist eine App oder eine Webseite responsive. Heutzutage ist diese Anforderung eigentlich Quasi-Standard. Die Erstellung von Apps kann von jedem gemacht werden, der Programmieren gelernt hat und sich die Technologien für Appentwicklung aneignet. Allerdings gibt es auch hier ein paar Unterschiede, denn je nach Hersteller und Betriebssystem muss man tatsächlich eine eigene App schreiben.

Für welche Plattformen kann man Apps entwickeln? Was ist zu beachten?

Eine App zu schreiben und die eine App dann für alle Geräte zur Verfügung stellen ist leider nicht so einfach, wie man es sich vorstellt. Dadurch dass die Hersteller unterschiedliche Betriebssysteme programmiert, die nicht kompatibel zu einander sind, muss man für jeden Hersteller eine eigene Programmiersprache und eine eigene Programmierumgebung erlernen. Für einen Anfänger eine bittere Pille, möchte man doch mit seiner ersten App möglichst viele Bereiche abdecken. Es gibt noch einen Weg, denn du später in diesem Artikel erfährst. Kommen wir zu den einzelnen Herstellern:

Android

Google’s Android ist eins der meistgenutzten Betriebssysteme für mobile Geräte. Viele Hersteller wie Samsung, HTC, etc. produzieren ihr Geräte mit Android. Es gibt den sogenannten Play-Store direkt von Google in dem man die Apps findet und auf dem eigenen Gerät installieren kann. Es gibt noch weitere Stores in denen man Apps erhält. So hat meist jeder Hersteller einen eigenen Store und auch große Unternehmen wie Amazon haben eigene Stores für Apps. Um eine App in so einem Store 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. Verkauft man seine App, behält der Storebetreiber meist eine kleine Provision ein. Um für die Android Plattform zu entwickeln benötigt man Java-Kenntnisse und das Android SDK. Hat man das installiert, kann man im Prinzip loslegen.

iOS

Apple’s iOS ist das Betriebssystem für die iPhones, iPads und iPods (und was es sonst noch mobiles mit i… von Apple gibt). 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 in diesen Store einzustellen muss man sich ebenfalls als Entwickler (Apple Developer Programm) registrieren und zahlt eine jährliche Gebühr dafür. Auch fallen beim Verkauf von Apps Provisionen an Apple an. Um die Apps zu entwickeln benötigt man einen Apple Computer mit Mac OSX, denn nur darauf läuft die Programmierumgebung XCode. Programmieren kann man das ganze nun entweder mit Objective-C oder den neuen Apple-eigenen Programmiersprache Swift. Man kommt leider um den eigenen Mac nicht drumherum, wenn man mit diesen Sprachen entwickeln möchte. Es gibt zwar Möglichkeiten das Betriebsystem auch ohne Mac zu betreiben, allerdings ist dafür viel technisches Know-How notwendig. Somit ist der Einstieg an der Stelle recht kostspielig, wenn man noch nie in die Apple-Umwelt eingetaucht ist.

Andere Plattformen

Es gibt aber auch noch andere Player auf diesem Markt. Von Blackberry bis zu Windows Phone gibt es verschiedene Betriebssysteme. Alle haben ihre eigene Programmierumgebung, nutzen eine andere Programmiersprache und haben auch eigene Stores in denen die Apps angeboten werden.

Was muss ich dafür lernen?

Soviele verschiedene Hersteller, Programmiersprachen, Betriebssysteme, da wird auch dem Profi schnell schwindelig. Jede Sprache und Bibliothek ist anders aufgebaut und im Prinzip muss man überall Besonderheiten beachten. Mal davon abgesehen, dass man zum Testen auch mal die Geräte vor Ort haben sollte. Möchte man nun in die Entwicklung einsteigen, ist aber noch ein totaler Anfänger, was Programmierung überhaupt angeht, wird man nicht drumherum kommen  sich mit einer Programmiersprache vertraut zu machen. Dazu kommen wir gleich noch. Ersteinmal sollst du die Unterschiede bei den Apps selbst kennenlernen.

Native Apps

Native Apps sind mit der Programmiersprache des Herstellers geschrieben, siehe Abschnitt über die Plattformen. Lernen musst du zunächst das Programmieren und das am besten in der jeweiligen Sprache für die du eine App programmieren willst. Für jede Plattform die jeweilige Sprache und Umgebung. Ob dir diese Arbeit was wert ist ist eine andere Frage. Das muss sich schon ziemlich lohnen.

Baukasten Apps

Es gibt mittlerweile ein Riesenangebot an sogenannten App-Baukästen. Man klickt sich die App quasi zusammen anstatt zu programmieren. Sowas ähnliches gibt es auch für Webseiten. Die meisten Baukästen kosten eine monatliche Gebühr. Der Funktionsumfang solcher Apps ist allerdings eingeschränkt. Sobald du speziellere Dinge machen möchtest, musst du entweder die Spezialentwicklung beim Anbieter beauftragen (was sehr teuer werden kann) oder du fängst wieder bei 0 an und muss das ganze selbst nochmal programmieren. Für ganz kleine Standarddinge funktioniert es, kann aber schnell in doppelten Aufwand enden.

Web Apps (oder HTML5-Apps)

Wer nur ungern Dinge doppelt und dreifach schreibt und sich direkt zum Anfang nicht mit den unterschiedlichen Programmiersprachen der verschiedenen Hersteller rumschlagen möchte, greift zu dieser Lösung. Mit Webtechnologien kann man auch ganze Anwendungen schreiben. Und überall wo ein moderner Browser ausgeführt werden kann, kann auch ein Webbasiertes Programm ausgeführt werden. Es gibt tolle Bibliotheken mit denen man eine webbasierte App programmieren kann und quasi dieselbe Funktionalität nutzen kann, die man von nativen Apps kennt. Sogar in die AppStores lassen sich diese Apps bringen. Das coole: Man entwickelt quasi eine normale responsive Webanwendung und kann diese mit ein paar Anpassungen zur vollfunktionsfähigen App umbauen. Die App sieht auf allen Plattformen gleich aus. Man lernt zunächst nur eine Programmiersprache (Javascript) und kann damit fast alles bauen, was du dir vorstellen kannst. Für jemanden der anfängt und noch nicht so richtig weiß, was er eigentlich bauen möchte ist das ideal.

Kann ich meine App auch auf dem Computer/Notebook anbieten?

Im nativen Bereich gibt es eigentlich ein klares Nein. Vielleicht ist es möglich eine iOS App auch auf einem Mac auszuführen, aber ich kennen keine der das schonmal probiert hat. Das heißt, möchtest du eine App coden, die man im Zweifel auch am „großen“ Computer benutzen soll, solltest du dir zusätzlich eine Programmierumgebung suchen, neben der du auch deine Apps schreiben kannst. Richtig, noch eine Programmiersprache/Programmierumgebung und alles was dazu gehört.
Wäre es nicht ideal, wenn man alle Programme mit nur einer Sprache erstellen könnte? Für den Einstieg ist das eine super Sache, wobei man dazu sagen muss, sobald es speziell wird oder die Anforderungen an die Performance steigen, sollte man genügend Manpower aufbringen und nativ entwickeln.

Das heißt ich muss alles doppelt schreiben? Muss ich mich für eine Plattformen entscheiden?

Android App

Soundboard als Android App

Webapp im Browser

Soundboard im Browser als Webapp

Mit einem starken Entwicklerteam ist es sicherlich kein Problem gewisse Dinge für die jeweiligen Plattformen doppelt zu schreiben. Nun hat aber ein Anfänger keine 5-köpfige Crew. Also stehst du vor der Wahl. Deine Apps soll auf allen Plattformen laufen, also quasi
3 Mal lernen und schreiben. Oder du machst die App nur für eine Plattform. Oder du lernst Webtechnologien und bekommst für den Anfang eine ganze Menge
geschenkt. Das schönste: Du entwickelst deine Webapp ganz normal am Computer und kannst alle Funktionen ohne die Notwendigkeit eines mobilen Gerätes testen. Erst wenn du dich an die Anpassungen für die mobile Version machst, nutzt du den Emulator oder lädst deine App auf das Smartphone. Und wenn du fertig bist hast du eine App für mobile Geräte und eine Anwendung für den Computer. Ich habe ein Beispiel vorbereitet, hier siehst du ein Soundboard welches ich für meinen Verein entwickelt habe und dazu die Androidversion.

Kann ich mit meiner ersten programmierten App Geld verdienen und reich werden?

Auch wenn ich die Motivation toll finde und selbst kenne, die man am Anfang hat. Aber leider muss man am Anfang sagen, dass die ersten Programme nicht überzeugen werden. Mein Rat: Fange nicht direkt mit deiner fetten Idee an, denn die wird schnell erschlagen und lähmen. Starte mit kleinen Miniprojekten, wie z.B. in unseren Tutorials. Erst dann nimm dir eine winzig kleine Funktionalität aus deiner Idee, die du eigentlich programmieren möchtest und setze diese Minifunktion in einem eigenen Programm um. Nur so erhöhst du die Chance überhaupt mal etwas Geld für deine App zu kassieren. Das ganze drumherum mit Marketing etc. nicht eingeschlossen.

 

Das brauchst du für deinen Start und so startest du durch:

Mein Vorschlag an dich: Wenn du noch gar keine Ahnung von Programmieren hast, dann starte mit der Webentwicklung und mit Javascript. Damit kannst du die Grundlagen erlernen und kannst diese Sprache weiter verwenden. Mit Javascript lässt sich nämlich eine ganze Menge erledigen. Bist du dir unsicher arbeite mal dieses Tutorial durch. Solltest du damit nicht klar kommen, musst du wesentlich früher anfangen. Dann bist du definitiv ein Kandidat für unseren Einsteigerkurs. Solltest du bereits mit Webtechnologien umgehen können, dann schau dir mal Apache Cordova an.

Das könnte dich auch interessieren

2 Kommentare

Trackbacks & Pingbacks

  1. […] Apps sind Computerprogramme, welche auf einem mobilen Computer also einem Smartphone oder einem Tablet ausgeführt werden können. Diese Programme kann man über einen AppStore installieren und dann immer wieder benutzen. Beim Programmieren gibt es die Besonderheit, dass der Benutzer über einen Touchscreen mit dem Programm interagieren muss. Wie man lernt Apps zu programmieren lernst du in diesem Artikel. […]

  2. […] Wenn du eine App erstellen willst, musst du dich für eine Programmiersprache entscheiden und die Grundelemente erstmal in dieser Sprache erlernen. Wenn du für Android entwickeln willst, ist deine nächste Sprache Java. Was Android ist? Android ist Google’s Betriebssystem für mobile Computer. Quasi das Windows für dein Smartphone. Genauso wie man für Windows Anwendungen programmieren kann, kann man für Android Apps programmieren. Java ist die Sprache für Android. Möchtest du lieber für das iPhone von Apple Apps erstellen, ist das Betriebssystem iOS und die Sprache die du lernen musst ist Objective-C. Ich werde im folgenden nur auf die Android-Plattform eingehen. Möchtest du eher generelle Informationen für den Anfang schaust du mal in unseren Ratgeber zum App…. […]

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.