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. Du hast es eilig? Dann schau am besten direkt in diesen Artikel über Apache Cordova.

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, wie Apache Cordova, 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 Apache Cordova 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 unseren Artikel zu Apache Cordova an.

Das könnte dich auch interessieren

16 Kommentare
  1. Waldemar Cichon sagte:

    Ich vermisse schmerzlich einen Hinweis auf Xamarin.
    Und die heute aktuellen Trends bei hybriden Apps.
    Sowie die korrekte Benennung, denn WebApps sind heute Bezeichnungen für komplexe HTML-JS-Seiten, die dennoch vom Server geladen werden. Die Apps werden als hybride Apps bezeichnet.

    Antworten
    • Arek sagte:

      Hallo Waldemar,
      frohe Weihnachten noch! 🙂
      Stimmt, Xamarin fehlt an dieser Stelle, habe bisher allerdings auch keine Erfahrung damit gemacht. Vielleicht kannst du ja ein paar Sätze dazu schreiben? Können das gerne vorab per Mail klären, schreib mir einfach.
      Du hast auch mit den Hybriden Apps recht. Die Webapps können, wie man auf dem Bild sieht, ja auch als tatsächliche Webapp in jeden Browser laufen gelassen werden. Aus dem Grund habe ich den Begriff weiter verwendet und anscheinend bin ich nicht der einzige. Letztendlich interessiert es die meisten Einsteiger nicht, ob es nun HybridApp oder Webapp heißt.

      Bei den aktuellen Trends fallen mir spontan die PWAs (Progressive Webapps, übrigens wurde auch hier die Benennung geändert 😉 ) ein, welche Trends hast du gemeint?

      Beste Grüße und noch einen schönen Feiertag
      Arek

      Antworten
        • Arek sagte:

          Geht bestimmt, ist halt die Frage ob man sich die Arbeit machen will. Wenn C++ nicht unterstützt wird, hat das sicherlich einen Grund. Was gewinnst du mit C++ anstatt C#? Wenn es lediglich die Sprache ist, dann würde ich empfehlen eher C# zu lernen und dann damit zu arbeiten. Wenn du bereits mit C++ arbeiten kannst, wirst du einfach in C# reinkommen. Habe einen recht alten und technischen Artikel zum Thema Xamarin und C++ gefunden: https://blogs.msdn.microsoft.com/vcblog/2015/02/23/developing-xamarin-android-native-applications/
          Für Anfänger sicherlich nicht das einfachste, das hört sich selbst für mich schon wie Gefummel an. In den Kommentaren wurden viele Fehler gepostet, also bezweifle ich, dass dies einfach mal so geht. Habe mich damit bisher auch nicht mit beschäftigt, da ich eher die Webschiene mit Apache Cordova bevorzuge. 😉
          Beste Grüße
          Arek

          Antworten
  2. Stephan K. sagte:

    Oh man, das sieht echt kompliziert aus! Ich habe bis jetzt erst ein paar Erfahrungen mit HTML und PHP, aber ich denke, das übersteigt mein Können bei Weitem! Ich bedanke mich aber auf jeden Fall für den Tipp mit den Baukasten Apps, ich werde auf jeden Fall mal gucken, ob die für mein Vorhaben ausreichen. Wenn nicht muss ich wahrscheinlich darauf ausweichen, Geld in die Hand zu nehmen. Ich hatte da ein Webentwicklungsbüro aus Berlin ( tenmedia.de/ ) im Sinn, weil man die mit diesen Kryptocurrencys bezahlen kann und ich eh noch welche von vor 4/5 Jahren rumliegen habe und nicht weiß was man damit anfangen soll. Kaufen kann man damit ja sonst nichts.

    Eine kleine Frage noch: Ist es überhaupt möglich, ein Forum in eine App zu übersetzen? Und brauche ich dafür einen Server?

    Antworten
    • Arek sagte:

      Hallo Stephan,
      ob man ein Forum einfach so in eine App übersetzen kann, hängt ganz stark vom eingesetzten System und der Forentechnologie ab. Wurde dort bereits Responsive gearbeitet, würde ich die Chancen höher einschätzen, aber das müsste man sich genauer anschauen. Einen Server wirst du definitiv benötigen.

      Beste Grüße
      Arek

      Antworten
  3. Daniel sagte:

    Es wäre interessant, mal einen Überblick über die ganzen verschiedenen Frameworks für die Entwicklung von Web Apps zu bekommen, wie Meteor usw. Inwiefern braucht man dabei sowas wie React, Vue oder Angular? Oder überhaupt?

    Antworten
    • Arek sagte:

      Hi Daniel,

      vielen Dank für deine Rückmeldung. Ich werde mal einen Artikel mit einem Überblick einplanen!

      Beste Grüße
      Arek

      Antworten
    • Arek sagte:

      Hey,

      das freut mich! Am besten startest du dafür mit dem Programmiergrundlagen, wenn du diese nicht schon drauf hast!

      Beste Grüße
      Arek

      Antworten

Trackbacks & Pingbacks

  1. […] Ein guter Ratgeber hierzu findest du hier, in diesem Artikel.  […]

  2. […] von der Idee, eine App in nur wenigen Tagen erfolgreich zu schreiben. Geduld ist hier das A und O. Rund zwei Monate sind für die erste App absolut realistisch. Ist die Idee, die dahinter steht tatsächlich neu und interessant, kann bereits die erste App ein […]

  3. […] 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. […]

  4. […] 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

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

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