Apps programmieren mit Apache Cordova

App und Laptop für Programmierung von Apps

App-Entwicklung in JavaScript mit Apache Cordova

Wenn du schon ein wenig Erfahrung als Programmierer hast, also zumindest schonmal eine Webseite oder ein kleines Programm entwickelt hast, dann bist du sicherlich schonmal an der Idee vorbeigekommen eine App zu programmieren. Bei Apps für Mobilgeräte gibt es das selbe Problem wie auch am Personal Computer, denn es gibt verschiedene Plattformen die verschiedene Programmiersprachen unterstützen. In diesem Artikel erfährst du, wie du dieses Problem mit der Kraft der Webentwicklung und dem Apache Cordova Framework lösen kannst.

Warum ist App Entwicklung immer noch ein Thema?

Nachdem 2007 das iPhone vorgestellt wurde, war das Zeitalter der Apps geboren. Seitdem suchen Programmierer einfache Möglichkeiten um Apps auf alle Plattformen bringen zu können. Leider ist das bis heute noch eine Herausforderung. Aber warum ist das Erstellen von Apps angeblich so aufwendig? Lass uns mal eine kleine Reise machen, dann wird das etwas deutlicher.

Der Computer: Prozessoren, Betriebssysteme, Programmiersprachen

Bevor wir auf die Mobilgeräte wie Smartphones und Tablets gehen, schauen wir uns mal den großen Bruder den Personal Computer an. Egal ob Standrechner oder Laptop, alleine schon hier sehen wir unterschiedliche Prozessoren und Betriebssysteme. Der eine schwört auf Intel, der andere auf AMD. Der eine kann nicht ohne Windows, der andere kauft gerne MacBooks und der nächste arbeitet aus Prinzip nur mit Linux. Und die Softwareentwickler dürfen für diese jeweiligen Situationen Unmengen an Code schreiben. Damals war es noch so: Für jeden Prozessor wurde eigener Code geschrieben. Dann wurden Tools entwickelt die dem Programmierer die Arbeit erleichtern. Mit einem Kompiler kann man Maschinencode für Intel und AMD generieren. Dann kommen die Betriebssysteme dazu, Windows, Mac und diverse Linuxdistributionen. Auch hier gibt es mittlerweile Möglichkeiten Code für die unterschiedlichen Systeme mittels Frameworks zu kompilieren. Java ist wohl das bekannteste Beispiel dafür, aber es gibt auch noch Qt für C++ und sogar .NET ist teilweise in der Lage. Webbasierte Lösungen sind zum Beispiel Node.Js und Electron, welche sehr beliebt sind.

Webentwicklung

Das bekannteste Bindeglied ist allerdings das Internet. Zunächst für den Austausch von Informationen gedacht, werden mittlerweile sogenannte Webapplikationen entwickelt, die über eine URL im Internet erreichbar sind und im Browser einfach ausgeführt werden können. Unabhängig vom Prozessor und Betriebssystem: Wo ein moderner Browser mit Internet läuft, lässt sich auch eine Webapplikation starten. Am Anfang waren diese noch etws träge, da Internetgeschwindigkeit und die Programmausführung im Browser noch nicht so performant war. Mittlerweile kann man fast jede Aufgabe über eine Webapplikation lösen und es gibt Frameworks wie Electron, die es erlauben Webapps in einer Browserartigen Umgebung zu starten ohne, dass die Anwendung nach Browser aussieht und aber auch offline ausgeführt werden kann. Warum diese Fakten so interessant für die Entwicklung von Apps sind erfährst du gleich.

Mobilgeräte: Hersteller, Plattformen, Programmiersprachen

Wechseln wir nun zu den eigentlichen Geräten. Wie beim PC gibt es hier ähnliche Voraussetzungen, allerdings sind diese bis heute etwas strikter. Die Hersteller achten ganz peinlich drauf welche Software in deren AppStores kommen, und schmeißen die Apps raus, die sich nicht an die Regeln halten. Um so ärgerlicher, wenn man genau für die eine Plattform eine App entwickelt hat und diese dann verbannt wird, auch wenn das Risiko dafür gering ist. Für jede Plattform entwickelt man dann also mit einer anderen Programmiersprache ein und dieselbe App. Doppelt und dreifacher Aufwand und noch mehr wenn man dazu auch noch eine Webapp für den Browser anbieten möchte. Dabei gibt es doch auch einen Browser auf den Mobilgeräten? Warum kann man nicht einfach die Webapp auf dem Mobilgerät nutzen?
Wir haben festgestellt, dass wir mit den Browsertechnologien Webapplikationen erstellen können und dass es Frameworks gibt, die das ganze vereinfachen. Die Webapps sehen dann wie echte Desktopanwendungen aus.
Ist doch klar, dass es im App-Bereich ebenfalls solche Frameworks gibt. Frameworks wie Apache Cordova, React Native oder Xamarin versprechen genau das, was auch auf dem Personal Computer schon lange funktioniert. Und mit Apache Cordova haben wir ebenfalls ein Framework welches auf Webtechnologien setzt, wie zum Beispiel Electron und Node.js. Das ist doch mal einen Blick wert.

Die Idee: Baue eine Webapp für dein Mobilgerät

Erstelle eine Webapp, die für dein Smartphone optimiert ist und dann kommt Apache Cordova zum Einsatz. Wenn du noch keine Webapp hast, dann kannst du diese natürlich direkt in Cordova erstellen, aber das ist jetzt nicht so wichtig. Die Idee mit der Webapp bleibt.

Was macht Apache Cordova?

Übersicht zur Funktionalität von Apache Cordova. Von der Webapp bis zur fertigen App.

Grobe Funktionsweise von Apache Cordova

Apache Cordova stellt Rahmenapps für die jeweiligen Plattformen zur Verfügung. Diese Rahmenapps starten dann in einem Webview deine Webapp. Kein Browsergedöns drumherum, sondern echtes Look’n’feel wie in einer App. Auch der obligatorische App-Button kann auf dem HomeScreen hinzugefügt werden und ja, die Apps können in die AppStores hochgeladen werden. Cordova unterstützt alle gängigen Plattformen, also von Android über iOS bis hin zu Windows Phone. Zusätzlich dazu kann man auch die Funktionen der Geräte nutzen, in dem man Plugins oder Browsertechnologien verwendet. So kannst du Funktionen nutzen, die andere Entwickler ebenfalls schonmal benötigt haben, zum Beispiel das hervorragende Local Notification Plugin von appPlant (welches wir in unserem Appkurs verwenden werden).

Bei der Performance muss man hingegen etwas vorsichtig sein, denn hier ist man auf einem Mobilgerät unterwegs, welches nicht die volle Rechenpower eines Notebooks mitbringt. Das gilt aber auch für andere Frameworks. Zu guterletzt ist Apache Cordova ein Open Source Projekt, das bedeutet jeder Entwickler kann dort mitwirken und mitentwickeln. Das gilt auch für die Plugins. Ist dir Apache Cordova zu langsam oder fehlt dir ein Plugin? Dann kannst du Apache Cordova erweitern und musst auf nichts verzichten.

Besonders in der Anfangsphase einer App, wenn man absolut noch keine Ahnung hat, wer die Zielgruppe ist und auf welcher Plattform diese unterwegs ist, lohnt es sich einen Blick auf Apache Cordova zu werfern. Auch Programmieranfänger, die etwas für JavaScript übrig haben, werden hier auf ihre Kosten kommen. Denn der Vorteil, das alles mit nur einer Programmiersprache zu bewerkstelligen, darf einfach nicht übersehen werden. Die Installation bei solchen Frameworks ist etwas knifflig, denn man benötigt dennoch die jeweiligen Development Kits der Hersteller auf seinem Rechner.

4 Schritte zu deiner App mit Apache Cordova
Egal ob du deine App-Idee verwirklichen willst, oder noch gar nicht weißt wie deine eigene App später aussehen soll. Die Einarbeitung in Apache Cordova ist ein Muss für jeder zukünftigen App-Entwickler. Anbei die 4 Schritte, die du durchgehen musst um deine erste eigene App mit Cordova zu programmieren:
  1. Voraussetzungen erfüllen: Du solltest dich etwas mit JavaScript, HTML und CSS auskennen, damit du mit Cordova starten kannst, denn die Grundlage für deine Apps sind Webapplikationen. Frontendentwicklung ist dafür dein Stichwort (den notwendigen Einstieg dazu findest du hier).
  2. Einrichtung: Jetzt benötigst du eine funktionierende Entwicklungsumgebung mit Node.js. Dann kannst du Apache Cordova installieren und mit der Entwicklung starten.
  3. Entwicklung: Für die Entwicklung musst du dich mit Apache Cordova und deren Plugins beschäftigen, die Dokumentation ist dabei dein bester Freund. Kurse & eBooks helfen dir, das notwendige Wissen schneller zu erlangen und mehr Erfahrung zu sammeln. Wenn du erstmal Cordova beherrschst, dann entwickelst du deine Webapp und kannst diese als App testen.
  4. Test & Release: Für das Testen und das Release muss du die jeweiligen Softwarepakete installieren, für die Plattformen für die du deine App anbieten willst. Bei Android ist das zum Beispiel, das Android Studio und das Android SDK. Für das Release selbst musst du dich dann für die jeweiligen AppStores registrieren, hier muss man aufpassen, denn manche App Stores verlangen dafür einmalig (Google Play Store) oder jährlich (Apple App Store) eine Entwicklergebühr.
Diese Schritte auf eigene Faust zu unternehmen ist schon eine Herausforderung, auch wenn man bereits etwas Erfahrung hat. Zu empfehlen ist es sich hier noch externe Informationen dazuzuholen. Wie man die Entwicklungsumgebung für Android einrichtet und dann mit Apache Cordova eine passende App erstellt, lernst du in unserem Kurs zur App-Programmierung mit JavaScript und Apache Cordova. Dort erstellen wir gemeinsam 11 Apps und gehen durch alle Fallstricke, die man bei der Entwicklung von Apps mit Cordova durchlebt. Nach diesem Kurs kannst du deine eigene App programmieren und im App Store veröffentlichen.

Fazit

Das Web wird immer mächtiger und JavaScript beherrscht schon lange die Browser dieser Welt. Nach Serverseitiger Programmierung mit JavaScript ist nun auch die Zeit gekommen, dass man auch Apps mit JavaScript erstellen kann. Wenn man die eigene App veröffentlichen will, dann sollte man bereit sein etwas Zeit und Geld zu investieren. Zeit in die Einarbeitung und Geld für passende Geräte sowie die Entwicklergebühr in den Stores. Da nimmt man gerne jede hilfreiche Abkürzung mit. Hast du bereits mit Cordova eine App erstellt? Ich würde mich freuen diese zu sehen und möchte hier drüber schreiben (schick mir dann mal eine E-Mail an support@lerneprogrammieren.de). Wenn du eine App programmieren willst und dich nicht auf eine Plattform beschränken möchtest, dann schau dir mal unseren Kurs zur App Programmierung mit JavaScript und Apache Cordova an. Viel Erfolg!

Das könnte dich auch interessieren

1 Antwort

Trackbacks & Pingbacks

  1. […] 27. Juli 2017/15 Kommentare/in Allgemein, Apps programmieren /von ArekDu 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. […]

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.