App Entwickeln

Erste Lektionen der App Entwicklung

Du hast eine Idee für Deine eigene App, weißt aber nicht, wie Du sie realisieren kannst? Anstatt Deine Vision aufzugeben, solltest Du Dich zunächst darüber informieren, wie Du Deine ersten Schritte als Entwickler machen kannst. So wirst Du schon bald eine Applikation in den Händen halten, die Du selbst entwickelt hast.

In diesem Artikel lernst Du schon mal die Vor- und Nachteile mehrerer Applikationsarten kennen und bekommst einen Überblick darüber, wie ihre Entwicklung funktioniert.

Was ist eine App?

Eigentlich sind sie nichts, was wir nicht schon kennen. Sie sind Computerprogramme, genauer gesagt: Computerprogramme für unsere mobilen Geräte. Entwickler benutzen Programmiersprachen, um Computersoftware zu erstellen; auf genau dieselbe Weise erstellt man z. B. auch Android-Apps.

Nun ist aber unklar, worin der Unterschied zwischen Applikationen und normalen Computerprogrammen liegt – und es muss offensichtlich einen Unterschied geben, sonst könnte man sie nämlich auch ganz einfach „Computerprogramme“ nennen, und nicht „Apps“. Ganz simpel: Der Unterschied besteht darin, dass man sie speziell für Smartphones zu erstellen hat, wodurch man auch die spezielle Technik ansprechen muss. Bei mobilen Geräten sind nämlich ein Touchscreen, Sensoren und andere Features vorhanden, die ausgenutzt werden sollten und teilweise auch müssen.

Es besteht die Möglichkeit, Programmierbibliotheken zu benutzen, damit die eigene App diese Voraussetzungen abdecken kann. Auch für professionelle App Agenturen sind diese Bibliotheken von großer Wichtigkeit. Dies beweist jedoch, dass Du zumindest über basale Programmierkenntnisse verfügen musst, um die technischen Notwendigkeiten in Deine App implementieren zu können. Diese sind aber relativ leicht zu erlernen, sodass auch Du es sicherlich schaffen kannst.

Native App

 Vor- und Nachteile

Hier ist der vorteilhafteste Aspekt, dass eine hundertprozentige Optimierung der App auf das entsprechende Betriebssystem erreicht wird. Einer nativen Android-App auf einem Android-Gerät etwa kann auf keine andere Weise eine bessere Leistungsfähigkeit verliehen werden: Die Größe der App ist kleiner als die einer vergleichbaren hybriden App, und trotzdem läuft sie schneller. Weiterhin ist sie berührungsempfindlicher und auch vom Design her ans jeweilige Betriebssystem optimiert. Eine größere Benutzerfreundlichkeit ist schlicht nicht möglich.

Leider ist das Endprodukt bei solch einer App Entwicklung nur für dasjenige Betriebssystem erhältlich, für das es nativ erstellt wurde; Nutzer anderer Plattformen sind vom Download der Anwendung ausgeschlossen. Deine native Android-Anwendung können also tatsächlich nur Android-User benutzen. Natürlich besteht auch die Option, gleich für mehrere Systeme nativ zu entwickeln. Dann musst Du aber mit einem doppelten Zeit- und Kostenaufwand rechnen – gebräuchlicher und wirtschaftlicher ist es deshalb, auf eine hybride Lösung zurückzugreifen.

Android

Wenn Du eine Android-App erstellen möchtest, ist der erste Schritt, die Konzeption zu erstellen. Lege Deine spezifische Zielgruppe fest, entscheide Dich für geeignete Funktionen und studiere dabei Deine Konkurrenz auf Android. Berechne die Kosten fürs Erstellen Deiner eigenen Android-App und sei Dir über Deine juristischen Pflichten im Klaren (z. B. Erstellen eines Impressums, einer Datenschutzerklärung). Um das Ganze festzuhalten, solltest Du Wireframes erstellen, die überblicksartig alle Aspekte wiedergeben.

Android-Apps werden in der Programmiersprache Java geschrieben. Aus diesem Grund solltest Du zumindest die Grundlagen dieser Sprache beherrschen. Die offizielle Entwicklungsumgebung von Android ist Android Studio. Wenn Du Dich bereit fühlst, kannst Du damit anfangen, Android Studio fürs Erstellen Deiner eigenen App zu verwenden. Android Studio ermöglicht die Gestaltung der Nutzeroberfläche via Drag-and-drop, Du kannst den Code aber auch selbständig verändern. Wenn Du nicht viel mit Android Studio anfangen kannst, gibt es auch die alternative Entwicklungsumgebung App Inventor.

Nun fehlt nur noch, Deine eigene Android-App für Android-Nutzer zugänglich zu machen. Um sie der neuesten Android-Version von Android-Geräten im Google Play Store anzubieten, musst Du ein Google-Konto haben; hast Du noch keins, registriere Dich bei Google. Dann darfst Du Dich zur Google Play Console als Entwickler eintragen; diese Eintragung kostet 21 EUR. Nachdem Du dann die Android-App eingereicht hast, wird sie von Android getestet. Möglicherweise wird sie noch am selben Tag automatisch im Store öffentlich gemacht.

iOS

Nicht nur bei einer Android-App, sondern auch im Falle einer iOS-App musst Du zunächst eine Konzeption erstellen: Wer soll die Zielgruppe Deiner App sein? Was für Features sollte man erstellen? Wie können am besten Umsätze gemacht werden? Was für juristische Aspekte müssen beachtet werden? Wireframes helfen dabei, die Antworten auf diese Fragen festzuhalten.

Bevor Du mit dem Programmieren beginnst, solltest Du Dich mit den Programmiersprachen von iOS etwas auskennen: Objective-C und Swift werden in Apples Entwicklungsumgebung Xcode verwendet. Entwickler müssen für diese Entwicklungsumgebung einen Apple-Computer besitzen, weil man sie nirgendwo anders installieren kann. Um Deine App richtig für Apple entwickeln zu können, musst Du also ein iMac oder MacBook besitzen.

Zum Schluss musst Du Deine App im Apple App Store zur Verfügung stellen. Ähnlich wie bei Android ist auch hier eine Registrierung als sogenannter Apple Developer nötig. Dies ist aber teurer als bei Android: Jedes Jahr fallen 82 EUR an, damit Du ein Apple Developer bleiben darfst. Nachdem Du Deine Applikation zur Überprüfung eingereicht hast, kann es schon mal mehrere Wochen dauern, bis sie im Store für die Nutzer sichtbar ist.

 Hybride App

 Vor- und Nachteile

Vorteilhaft ist, dass diese Art von App für alle Betriebssysteme zugänglich ist, nicht nur für Apple oder nur für Android. Sie hat also auf jeden Fall die größte Reichweite im Vergleich zu den anderen Arten. Ein weiterer Vorteil ist, dass die Programmierung kostengünstig ist und nicht lange dauert. Es ist sogar möglich, dass Deine App native Features des Smartphones ansprechen kann.

Auf der anderen Seite weisen diese Apps normalerweise eine recht schwache Performance auf. Sie gelten daher häufig als billiger Abklatsch einer Website in App-Gewand. Infolgedessen eignen sie sich nicht gut für Applikationen, die eine umfangreiche und komplizierte Programmierung benötigen, wie etwa Action-Spiele, die aufwendige Grafiken haben.

Entwicklung

Programmiert wird in HTML5, JavaScript oder CSS. Frameworks (z. B. „Intel“ oder „Ionic XDK“) werden dann genutzt, um dem Code JavaScript-Programmierschnittstellen hinzuzufügen, durch die Du Deiner App die unterschiedlichsten Funktionalitäten verleihen kannst. Die mobile App kann dann z. B. native Funktionen des Smartphones ausnutzen, wie etwa die Kamera oder die verschiedenen Sensoren.

Wie oben erwähnt liegt ein besonders großer Pluspunkt darin, dass die App in den Stores jeglicher Betriebssysteme einen Platz findet. Du musst deshalb ein Developer-Konto in allen Stores erstellen, die Du anvisiert hast, und bezahlst dabei die jeweiligen Preise. Nun darfst Du Deine App abgeben. Sie wird geprüft, und wenn nichts dagegenspricht, wird sie schon bald in diesen Stores zum Download bereitstehen.

Progressive Web App

 Vor- und Nachteile

Ein Vorteil ist, dass PWAs allmählich auf immer mehr Smartphone-Browsern funktionieren. Außerdem wirken und verhalten sie sich erstaunlich stark wie native Apps, selbst wenn sie keine sind. Das sieht man z. B. daran, dass sie auch laufen, wenn sie geöffnet werden, während das Endgerät nicht mit dem Internet verbunden ist. Sie sind die preiswerteste Art zu programmieren, und als ob das noch nicht genug wäre, müssen sie nicht ständig über einen Store aktualisiert werden, weil sie genau genommen im Browser laufen.

Leider werden PWAs noch nicht von allen Browsern unterstützt, die es gibt. Der App Store fällt auch weg; das führt dazu, dass Du Dich um eine neue Marketingstrategie kümmern musst, die im Idealfall eine vergleichbare Wirkung erzielt. Bedauerlicherweise kann eine PWA auch nicht alle nativen Funktionalitäten des Endgeräts ausnutzen.

 Entwicklung

Die App Entwicklung einer PWA erfolgt zunächst mit einem Code, der in HTML5, CSS3 oder JavaScript geschrieben wird. Hast Du dies bewerkstelligt, verwendest Du ein Framework (z. B. „AngularJS“ oder „Ionic 2“), um hauptsächlich Service Worker in die mobile App zu programmieren. Service Worker geben Deiner App den Anschein, als ob sie nativ wäre, machen also z. B. die Push-Mitteilungen-Funktion möglich.

Die Service Worker sind auch dafür verantwortlich, dass Deine PWA am Ende über Google gefunden werden kann und sich vom Browser aus installieren lässt. Auf diese Weise wird es überflüssig, in einen App Store zu gehen, um Deine Applikation herunterzuladen. Stattdessen kann sie ganz einfach über den Browser heruntergeladen werden, der in jedem beliebigen mobilen Gerät gegeben ist.

 App-Baukästen

Vor- und Nachteile

Der offensichtlichste Vorteil von App-Baukästen ist, dass sie überaus einsteigerfreundlich sind. Das Erlernen von Programmiersprachen und Programmieren im Allgemeinen ist im Grunde nicht nötig, weil Du Deine App mit einem WYSIWYG-Editor entwickeln kannst. Die grafische Benutzeroberfläche ist sehr klar und überschaubar. So musst Du nicht unbedingt ein Entwickler sein, um Deine eigene App schnell zu erstellen. Noch dazu sind Baukästen sehr günstig.

Andererseits sind App-Baukästen auch ziemlich einschränkend: In einer Standardversion gibt es nicht viele Möglichkeiten, Deine App funktionell oder designtechnisch nach Lust und Laune zu personalisieren; mehr Spielraum zu bekommen, ist meistens kostenpflichtig. Möchtest Du also ein größeres, eigentümlicheres Projekt programmieren, dann wäre es wohl vielleicht eine bessere Idee, z. B. eine Android-App zu erstellen.

 GoodBarber

GoodBarber ist toll, weil es viele Designs bereitstellt, die sehr modern und stilvoll wirken und sich zusätzlich überaus stark individualisieren lassen. Es überzeugt außerdem mit Add-ons, die soziale Netzwerke, iBeacon und Geofencing in Deine Applikation programmieren können. Du kannst mit einem gesonderten Angebot sogar Online-Shops erstellen. Am Ende entscheidest Du selbst, ob Du Deine Software als Android-App, PWA oder als Applikation für iOS anbieten möchtest.

 Appy Pie

An Appy Pie ist besonders, dass eine komplett kostenfreie Version für die Entwicklung angeboten wird. Der Haken dabei ist, dass Du in diesem Fall nur eine mobile Webseite entwickeln kannst. Mit Appy Pie kannst Du zahlreiche Funktionen in Deine App programmieren, die es so bei anderen Baukästen nicht gibt. Beim Entwickeln gibt es z. B. die Option, In-App-Käufe zu programmieren oder E-Books in die Applikation zu integrieren.

Fazit

Das sind also die Hauptansätze in der App-Entwicklung. Das Vorgehen in jedem von ihnen wird unterteilt in die Konzeptionsphase, das Programmieren und die Veröffentlichung. Jeder Ansatz hat Vor- und Nachteile. Welchen Du fürs Erstellen Deiner App verfolgen solltest, ist eine Frage Deiner Erfahrung als Entwickler sowie des Umfangs und der Zielgruppe Deiner zu entwickelnden Applikation. In jedem Fall steht Dir eine Fülle an Ansätzen zur Auswahl, die für jedes Projekt ein relativ maßgeschneidertes Entwickeln ermöglicht.