App programmieren

Wie Deine App Entwicklung in einfachen Lektionen gelingt

Wenn Du eine gute App-Idee für eine iOS- oder Android App hast, es Dir aber an Erfahrungen als Programmierer in diesem Bereich mangelt, solltest Du nicht gleich das Handtuch werfen. Was Du brauchst, ist ein Tutorial mit leichten Lektionen, um zu lernen, wie das Programmieren funktioniert und um Deine App schließlich realisieren zu können. Im Folgenden erfährst Du, worin die Vor- und Nachteile der verschiedensten Arten der Software-Entwicklung liegen und wie Du entsprechend programmieren kannst.

Was ist eine App?

Im Kern handelt es sich bei Apps um nichts anderes als gewöhnliche Computerprogramme. Sie sind nämlich ganz einfach gesagt Software für mobile Geräte. Genau wie man als Entwickler Computerprogramme in bestimmten Programmiersprachen erstellen muss, ist auch im Falle von Apps eine Programmierung nötig, um z. B. eine App für Android zu erstellen.

Nun stellt sich aber die Frage, wie sich Smartphone-Apps eigentlich von herkömmlichen Computerprogrammen unterscheiden – es muss schließlich einen Grund dafür geben, weshalb sie „Apps“ genannt werden und nicht „Computerprogramme“. Die Antwort ist einfach: Dadurch, dass man für Smartphones programmieren muss, sind besondere technische Funktionalitäten zu beachten. Der wohl offensichlichste Aspekt ist der Touchscreen. Des Weiteren können verschiedenste Sensoren des mobilen Gerätes ausgenutzt werden.

Sogenannte Programmierbibliotheken, auf die auch App Agenturen zugreifen, ermöglichen seiner eigenen App, diese besonderen Anforderungen zu erfüllen, um die besten Apps zu entwickeln. Dafür benötigt man jedoch ein grundlegendes technisches Verständnis in Sachen Programmieren. In wenigen Lektionen kannst Du aber auch dies lernen, um Dich dann einen waschechten Entwickler nennen zu können.

Native App

Vor- und Nachteile

Der größte Vorteil ist, dass sie auf das jeweilige Betriebssystem perfekt optimiert sind. Android Apps, die dann auf Android laufen, und iOS Apps, die man für iOS entwickeln muss, weisen somit die maximale Leistungsfähigkeit auf: Trotz kleinerer App-Größe als hybride Apps, sind sie viel schneller. Außerdem reagieren sie empfindlicher auf Berührungen und das App-Design ist extra ans Android-Gerät oder ans iPhone angepasst. Dies resultiert in der ultimativen Bedienungsfreundlichkeit.

Der wesentliche Nachteil besteht darin, dass diese Art von Anwendung nur für das jeweilige Betriebssystem läuft und Nutzern anderer Systeme somit verwehrt bleibt. In den Genuss einer Android App etwa kommen also wirklich nur Android-Nutzer. Wenn man dieselbe Anwendung dann nicht nur für Android, sondern auch für andere Systeme nativ erstellen will, dann ist dies leider mit mehr Zeit sowie Geld verbunden.

Android

Die erste Lektion der App Entwicklung Deiner eigenen Android App ist die Planung und die Vorbereitung. Du solltest definieren, wer Deine Zielgruppe ist, welche Features angeboten werden und Dich dabei von Android-Mittbewerbern inspirieren lassen, ein Finanzierungsmodell entwerfen sowie die juristischen Aspekte beachten, wie etwa das Einbetten eines Impressums und einer Datenschutzerklärung. Idealerweise hältst Du alles in einem Wireframe fest.

Als nächste Lektion solltest Du die Grundlagen von Java lernen, wenn Du das nicht schon getan hast, denn Android Apps werden hauptsächlich in dieser Sprache entwickelt. Danach bist Du bereit, Androids offizielle Entwicklungsumgebung „Android Studio“ zu installieren. Hier lässt sich die Nutzeroberfläche Deiner Android App sowohl per Drag-and-drop als auch durch direkte Bearbeitung des Codes entwickeln. Alternativ kannst Du auch die Entwicklungsumgebung „App Inventor“ verwenden.

Um Deine eigene Android App für alle Android Geräte anzubieten, muss sie im Google Play Store veröffentlicht werden. Hierfür benötigst Du zunächst ein Google-Konto. Danach musst Du Dich bei der Google Play Console als Entwickler anmelden, wobei eine einmalige Registrierungsgebühr von 21 € anfällt. Du reichst dann Deine Android App ein und Android prüft sie. Ist alles in Ordnung, wird sie bereits nach wenigen Stunden veröffentlicht.

iOS

Auch für iOS solltest Du Dir vor dem Entwickeln Gedanken darüber machen, wer Deine Software nutzen wird und was sie bieten kann und sollte. Sei Dir außerdem darüber im Klaren, wie Du damit Umsätze machen möchtest, und auch Rechtliches sollte nicht vernachlässigt werden. Ein Wireframe hilft Dir dabei, das Ganze zu überblicken.

Um zur nächsten Lektion überzugehen, musst Du Dich mit einer von Apples Programmiersprachen Objective-C und Swift etwas vertraut machen, weil sie in der hauseigenen Entwicklungsumgebung „Xcode“ zum Einsatz kommen. Zu beachten ist, dass sich Xcode nur auf einem Apple-Computer installieren lässt; wenn Du also noch keinen hast, müsstest Du Dir ein iMac oder ein MacBook anschaffen.

Damit Du Deine App im App Store veröffentlichen kannst, musst Du Dich auch hier vorher mit Deiner E-Mail-Adresse als „Apple Developer“ registrieren. Im Vergleich zu Android gibt es hier höhere Kosten: 82 € musst Du jährlich zahlen. Nach Einreichung Deiner Applikation können mehrere Wochen vergehen, bis man sie im App Store herunterladen kann.

Hybride App

Vor- und Nachteile

Solche Apps sind nicht nur auf Apple oder nur auf Android zu haben, sondern auf allen Systemen. Von allen Arten mobiler Apps hat diese also definitiv die größte Reichweite. Außerdem benötigt das Programmieren nicht viel Zeit oder Geld. Schließlich kann sich Deine App bei Bedarf die nativen Funktionen des Smartphones zunutze machen.

Bedauerlicherweise fallen solche Apps leistungstechnisch eher schwach aus. Sie werden oft als billige App-Kopien von Websites angesehen. Somit sind sie nicht geeignet für Anwendungen mit komplexer Programmierung, wie z. B. Action-Spiele mit üppiger Grafik.

Entwicklung

Die Programmierung erfolgt in HTML5, JavaScript oder CSS. Mithilfe bestimmter Frameworks (z. B. „Ionic“ oder „Intel XDK“) ergänzt Du an diesem Code nun JavaScript-Programmierschnittstellen, die dann viele verschiedene Features ermöglichen. Native Funktionen des Gerätes, wie etwa die Kamera oder Sensoren, können nun von der Applikation genutzt werden

Das Besondere ist, dass Du die Software nach dem Programmieren sowohl im App Store als auch im Google Play Store anbieten kannst. Als nächste Lektion registrierst Du Dich also in beiden Stores als Developer und zahlst die entsprechenden Gebühren. Danach kannst Du Deine Applikation einreichen. Nachdem sie geprüft und getestet wurde, ist sie in beiden Stores erhältlich.

Progressive Web App

Vor- und Nachteile

Vorteilhaft ist hier, dass PWAs von immer mehr Browsern auf Smartphones unterstützt werden. Auch wenn sie keine nativen mobilen Apps sind, besteht eine verblüffende Ähnlichkeit. So funktionieren sie z. B. auch, wenn das Gerät offline ist. Weiterhin handelt es sich um die günstigste Methode zu programmieren. Nervige Aktualisierungen fallen außerdem weg, weil sie über den Browser laufen, und sie können sehr leicht geteilt werden.

Auch wenn die Unterstützung auf immer mehr Browsern möglich wird, sind wir noch nicht soweit, dass sie auf allen Browsern kompatibel sind. Dadurch, dass sie nicht in App Stores angeboten werden, muss sich leider auch eine andere Marketing-Strategie ausgedacht werden. Schließlich können nicht alle nativen Features des Geräts angesprochen werden.

Entwicklung

Um eine PWA zu programmieren, solltest Du auf jeden Fall altbewährte Technologien wie HTML5, CSS3 und JavaScript lernen. Dann nimmst Du einen Framework (z. B. „AngularJS“ oder „Ionic 2“) zu Hilfe, um im Wesentlichen sogenannte Service Workers in die Applikation zu programmieren. Diese ermöglichen z. B. Push-Mitteilungen, obwohl es sich um keine native Software handelt.

Beim Entwickeln wendest Du solche Service Worker auch an, damit die Applikation später direkt vom Browser aus installiert werden kann. So ist kein Gang in einen App Store nötig und das Programmieren fällt auch leichter. Danach bist Du im Grunde mit dem Erstellen der Software fertig.

 App-Baukästen

 Vor- und Nachteile

Baukästen sind extrem anfängerfreundlich. Eine Programmiersprache musst Du nicht lernen, da das Erstellen Deiner App nach dem WYSIWYG-Prinzip („What You See Is What You Get“) erfolgt. Eine übersichtliche grafische Benutzeroberfläche erlaubt es Dir, Deine App in wenigen Lektionen günstig und unglaublich schnell „aufzubauen“.

So leicht sie Dir die App Entwicklung machen, schränken Baukästen Dich aber andererseits auch sehr stark in Deinen Möglichkeiten ein. So gibt es nur begrenzt viele Optionen, die Funktionen und das Design nach Deinem Belieben zu individualisieren; und wenn doch, dann kosten sie meist extra. Somit sind sie nicht für umfangreichere, spezifischere Projekte geeignet.

GoodBarber

Dieser App-Baukasten punktet mit relativ vielen schicken Designmöglichkeiten, die außerordentlich individualisierbar sind. Es gibt viele Add-ons, die z. B. soziale Netzwerke, Geofencing und iBeacon ermöglichen. Mit einem separaten Angebot lassen sich auch Online-Shops im E-Commerce erstellen. GoodBarber kann Deine App als Android App, Apple Applikation oder als PWA veröffentlichen.

AppYourself

AppYourself kommt aus Berlin, er ist einer der wenigen Online-Baukästen, die komplett auf Deutsch sind. Ein weiterer großer Pluspunkt ist, dass man zusätzlich zu einer nativen App auch eine Web App und eine normale Website erhält, die inhaltlich gleich sind und bei Änderungen allesamt gleichzeitig angepasst werden. Andererseits gibt es leider nicht so viele Design-Optionen wie bei den anderen Konkurrenten.

Appy Pie

Hier gibt es die Besonderheit, dass es eine kostenlose Version gibt, bei der man aber lediglich eine mobile Webseite bekommt. Auffällig ist auch, dass Dir viele Features zur Verfügung stehen, die Du bei anderen Anbietern nicht finden kannst: Z. B. lassen sich In-App-Käufe und E-Books in Deiner Applikation programmieren.

Fazit

In leichten Lektionen wurden die Vor- und Nachteile verschiedener Ansätze der App Entwicklung veranschaulicht. Außerdem wurde vor allem darauf eingegangen, wie die Vorbereitung, das Programmieren sowie die Veröffentlichung innerhalb dieser Ansätze eigentlich funktioniert. Welche Art für Dein Projekt am geeignetsten ist, hängt davon ab, wie Du Dir Deine zukünftige Applikation vorstellst, denn eine große Auswahl an Ansätzen ermöglicht ein Entwickeln, das individuell auf jedes Projekt zugeschnitten werden kann.