Skip to main content
Top

2017 | Book

Cordova

Entwicklung plattformneutraler Apps

insite
SEARCH

About this book

Das Fachbuch zeigt, wie mit dem Cordova-Framework Apps einheitlich für verschiedene Plattformen und App-Stores erstellt werden können. Die Programmierung der Apps erfolgt dabei unter Einsatz von etablierten Web-Technologien wie HTML5, CSS3, JavaScript und Web-Frameworks sowie Web-APIs. Der Autor konzentriert sich im Buch auf die Referenzsysteme Android, Windows Phone und iOS. Die Ausführungen zu Cordova gelten aber auch für weitere mobile Betriebssysteme. Die Themen des Buches reichen dabei von dem ausführlichen Einrichten von Cordova-Projekten inkl. Fragen zur Hardware über die intensive Behandlung des Frameworks und seiner Bibliotheken samt des Aufbaus einer geeigneten Oberfläche einer App, den Zugriff auf typische Elemente eines modernen Smartphones (Geolocation, Orientierung, Kamera, Audiowiedergabe etc.) bis hin zum Vertrieb und der Vermarktung von Apps.

Table of Contents

Frontmatter
1. Einleitung und Grundlagen – Um was geht es bei Cordova?
Zusammenfassung
Im einleitenden Kapitel wollen wir uns erst einmal kompakt ansehen, was Cordova eigentlich ist. Was zeichnet Cordova aus? Wozu ist Cordova überhaupt da und wie ist der Begriff „PhoneGap“ in Hinsicht auf Cordova zu sehen?
Ralph Steyer
2. Native Apps versus Web-Apps und mobilen Web-Applikationen – Das mobile Umfeld von Cordova
Zusammenfassung
In diesem Kapitel stellen wir Web-Apps und native Apps gegenüber und beleuchten die Vor- und Nachteile beider Lösungen. Das gehen wir auch praktisch an und erstellen beispielhaft native Apps, die ja über die Cordova-Wrapper die Basis von Cordova-Apps bilden. Damit soll Ihnen eine unbedingt notwendige Grundlage für die spätere Programmierung mit Cordova gegeben werden. Ebenso vergleichen wir in dem Kapitel Web-Apps und mobile Web-Applikationen bzw. Webseiten. Darüber hinaus werden wir die Bedeutung von einigen Begriffen erläutern, die für die relevanten Themen in dem Buch von Belang sind und in der Folge vorausgesetzt werden.
Ralph Steyer
3. Installation und erste Anwendung von Cordova – Erster Kontakt zu Cordova
Zusammenfassung
Wir beschäftigen uns nun in diesem Kapitel damit, woher Sie Cordova beziehen und installieren können und wie Sie das Framework in Ihren Projekten einsetzen. Oder anders ausgedrückt – wir erstellen nach der Installation des Frameworks selbst die ersten Cordova-Projekte, die die Basis für alle folgenden Beispiele bilden. Das müssen Sie für jede Zielplattform etwas unterschiedlich machen. Wir besprechen in dem Kapitel konkret den Weg für iOS, Windows und Android, was ja unsere Referenzsysteme über das gesamte Buch sein werden. Dabei wird indirekt auch die jeweilige Entwicklungsplattform bzw. das Entwicklungs-Tool festgelegt.
Ralph Steyer
4. Web-Technologien unter Cordova – Wie setzt man HTML, JavaScript und CSS in Cordova ein?
Zusammenfassung
In diesem Kapitel wollen wir uns ein wenig mit Details zu den Web-Technologien beschäftigen, die Ihnen bei einem Cordova-Projekt im eigentlichen Quellcode begegnen. Dabei bedeutet das nicht, dass wir hier HTML oder JavaScript lernen, sondern wie diese und andere Technologien in Cordova-Projekten zuverlässig eingesetzt werden und auf was Sie zu achten haben.
Ralph Steyer
5. Wo bin ich und wo will ich hin? – Mit Cordova die Position und Richtung bestimmen
Zusammenfassung
Wir kommen nun dazu, konkrete (und auch etwas umfangreichere) Beispiele mit Cordova umzusetzen. Dabei wird in diesem Kapitel unter anderem die Auswahl auf Techniken gelegt, die zumindest teilweise im Grunde auch ohne Cordova umgesetzt werden können. Es handelt sich bei diesen Techniken um Erweiterungen, die auf dem neuen HTML5-Standard bzw. dem neuen DOM-Konzept beruhen und im Wesentlichen mit einem DOM-Objekt namens navigator zusammenhängen. Genaugenommen sind einige dieser nachfolgenden Techniken auch schon in dem JavaScript-Standard ECMAScript5 eingeführt, aber erst unter dem HTML5-Label wirklich akzeptiert worden. Wir segeln also sozusagen teils hart am DOM. Wobei es dabei durchaus vorkommen kann, dass gewisse Standardfeatures über das Cordova-API verbessert werden. Die Unterstützung geht aber noch weiter, denn Cordova stellt die Features auch auf Plattformen bereit, die nativ mit den reinen DOM-Techniken gar nicht klar kommen. Für Sie als Programmierer kann das egal sein, ob nun native Objekte zum Einsatz kommen oder die Cordova-Erweiterungen. Wenn Sie das Framework einsetzen, nutzen Sie einfach die vorgegebene Syntax und lassen das Framework seinen Job tun. Konkret wollen wir uns in dem Kapitel um Geolokalisierung bzw. Geodating und Richtungsbestimmung (KompassKompass) samt daraus resultierenden Anwendungen kümmern. Es geht also darum zu bestimmen, wo sich ein Anwender befindet, wohin er sich bewegt und wie er sich orientieren kann. Dazu bringen wir mit dem Canvas-Konzept eine HTML5-Erweiterung zum Zeichnen ins Spiel, die man in Apps sehr gut nutzen kann. In den Kontext passt auch gut der Zugriff auf den Beschleunigungssensor eines mobilen Geräts, denn dieser gibt auch Auskunft über die Richtung, in die ein mobiles Gerät bewegt wird. Und wir schauen uns das navigator-Objekt genauer an, denn dieses bildet die zentrale Grundlage für diverse Zugriffe auf die Hardware unter Cordova. Da wir uns in diesem Kapitel erstmals „richtig“ mit Cordova auseinander setzen, gehen wir hier langsam und sehr ausführlich vor. In diesem Kapitel werden also sowohl wichtige Dingen wiederholt, es werden aber vor allen Dingen viele Grundlagen gelegt, auf die wir in den folgenden Kapiteln aufbauen wollen.
Ralph Steyer
6. Erstellung in der Cloud – Der Build-Dienst von Adobe®
Zusammenfassung
Sie haben nun erste Cordova-Apps erstellt und diese sind zum Teil auch schon recht anspruchsvoll gewesen. Wir wollen uns bei der Erstellung einer App in diesem Kapitel ein wenig von „Wolken“ helfen lassen. Es gibt einen Build-Service für Apps, den wir uns ansehen. Das Kapitel wird recht kurz gefasst, denn insbesondere Visual Studio stellt mittlerweile sehr gute Möglichkeiten zur Erstellung von Apps für unterschiedliche Plattformen bereit – das haben wir ja schon gesehen. Damit verliert der Dienst, den wir hier behandeln, etwas an Bedeutung gegenüber früher, wo die IDEs noch auf ein Zielsystem beschränkt waren. Aber nicht jeder Entwickler will oder kann Visual Studio nutzen und es gibt deshalb durchaus noch Verwendung für diesen Cloud-Dienst.
Ralph Steyer
7. Information und Rückmeldung Rückmeldung – Hallo, jemand da?
Zusammenfassung
In diesem Kapitel wollen wir uns ansehen, wie Sie mit Cordova Informationen zu dem Gerät eines Anwenders und der darauf laufenden Software sowie dessen konkreter Netzwerkverbindung herausbekommen. Dies sind im Wesentlichen rein informative Eigenschaften, die man aber bei gewissen Prozessen (etwa Entscheidungen für oder gegen einen bestimmten Folgeschritt) durchaus nutzen kann und wird. Es kann für eine App etwa entscheidend sein, ob eine Netzwerkverbindung vorhanden ist und wenn ja, wie schnell diese ist. Oder es ist wichtig, welches Betriebssystem die Basis einer App bildet. Denn bestimmte Features von Cordova stehen ja nicht auf allen grundsätzlich unterstützten Plattformen zur Verfügung. Auch kann der Ladezustand des Akkus von Bedeutung sein. Ein weiteres Thema ist die Verwendung von Rückmeldungen an den Anwender. Also akustische und optische Meldungen, aber auch haptische Signale wie Vibrationen.
Ralph Steyer
8. Cordova im Zusammenspiel mit ergänzenden Frameworks – Die Funktionalität und die GUI bequemer erstellen
Zusammenfassung
Cordova ist ein hervorragendes Mittel, um aus JavaScript heraus auf die Hardware eines mobilen Geräts sowie damit korrespondierende Objekte zuzugreifen. Bei der Erstellung ansprechender Oberflächen einer App hilft Cordova jedoch wenig. Ebenso beim grundsätzlichen Umgang mit JavaScript, dem DOM-Konzept und CSS. Es spricht viel dafür, dass Sie rein für die Programmierung bestimmter Arbeitsschritte mit JavaScript sowie der Gestaltung der Oberfläche einer App das Cordova-API um spezielle Frameworks ergänzen, die diese Arbeit erleichtern. Das können natürlich solche Frameworks sein, die speziell für mobile Anforderungen geschaffen wurden, aber Sie sind nicht darauf beschränkt, denn wir erstellen ja keine mobilen Webseiten bzw. Web-Applikationen, sondern Apps. Das erweitert die Auswahlmöglichkeiten.
Wir werden nun in dem Buch auch in der Folge den zusätzlichen Einsatz solcher ergänzenden Frameworks nicht voraussetzen, aber immer wieder Beispiele zeigen, welche die Alternativen zu einer rein direkten JavaScript- und CSS-Lösung demonstrieren, die nur mit Hilfe solcher Frameworks mit einem adäquaten Aufwand umgesetzt werden können. Ein ergänzendes Framework sowie eine darauf aufsetzende Erweiterungen werden wir hier auch genauer im Zusammenspiel mit Cordova beleuchten, um dieses auch in der Folge hin und wieder einzusetzen.
In dem Kapitel wollen wir uns zudem etwas genauer damit auseinandersetzen, wann bestimmte Schritte bei einer App ausgeführt werden sollten. Also wann Sie auf die Initialisierung der App warten sollten und unter welchen Gegebenheiten Sie bereits nach dem Fertigstellen des DOM-Baums Anweisungen ausführen. Das wird zwar im Zusammenspiel mit ergänzenden Frameworks erläutert, ist aber vollkommen unabhängig davon.
Ralph Steyer
9. Multimediafragen – Mobile Unterhaltung
Zusammenfassung
Moderne mobile Geräte verfügen selbstverständlich über Kameras und Wiedergabemöglichkeiten für diverse Multimediaformate. Sie können Musik hören, Videos betrachten, aber auch Ton, Bilder und Videos aufnehmen. Zum Teil haben wir das schon recht früh im Buch ganz ohne Cordova gesehen, als einfach über die neuen HTML5-Elemente Videos oder Audiodateien wiedergegeben wurden. Über Cordova haben Sie aus JavaScript heraus Zugang zu den damit verbundenen Hardwarekomponenten und den nativen Softwarebestandteilen des mobilen Geräts. Diese Multimediaaktionen stehen im Mittelpunkt dieses Kapitels.
Ralph Steyer
10. Kontaktversuche – Zugriff auf das Adressbuch
Zusammenfassung
Obwohl man bei Smartphones die ursprüngliche Kernfunktionalität dieser mobilen Geräte – das Telefonieren – im Grunde nur noch als Nebensache implementiert hat, ist die Kommunikation im Allgemeinen immer noch eine der wichtigsten Aufgaben, die Anwender mit einem mobilen Gerät durchführen. Wobei diese Kommunikation weit über das Telefonieren hinausgeht. SMS, E-Mail-Verkehr, Skypen, Chatten, … – die Liste ist lang. Und diese Kommunikation basiert auf Kontakten, die in der Regel auf dem mobilen Gerät verwaltet oder damit synchronisiert werden. Dazu gibt es ein Kontaktbuch und auf dieses wollen wir in dem Kapitel zugreifen. Die Grundlage ist ein Objekt vom Typ Contacts. Objekte dieses Typs werden von Cordova als Erweiterung vom navigator-Objekt bereitgestellt.
Ralph Steyer
11. Ran an den Speicher – Persistente Informationen
Zusammenfassung
Für diverse Funktionalitäten einer App kann es wichtig sein, dass sie Informationen über ihren Lebenszyklus hinaus speichert. Und natürlich muss man Daten wieder einlesen können. Denken Sie etwa an ein Notizbuch, To-Do-Listen oder ein Trackingsystem für eine Wegstrecke. Das führt unweigerlich zu dem Zugriff auf das Dateisystem der App, der Verwendung von Datenbanken (über eine bereits im System implementierte Kontaktdatenbank hinaus) oder anderen Speichermöglichkeiten auf mobilen Geräten. Und das wird das Thema in diesem Kapitel. Bei nativer Programmierung haben Sie meist direkten Durchgriff auf das Dateisystem eines Geräts, was aus JavaScript respektive einem Browser heraus erst einmal nicht (oder manchmal eingeschränkt) möglich ist. Aber der Cordova-Wrapper leistet genau diesen Durchgriff. Die Speicherung in Datenbankstrukturen wird hingegen zwar auch vom Cordova-API bereitgestellt, basiert aber auf den standardmäßigen Spezifizierungen des W3C im Rahmen der Neuerungen von HTML5, die mittelfristig auch aus RIAs heraus lokale Speichermöglichkeiten ausbauen sollen. Aus diesem Grund werden wir in dem Kapitel auch recht intensiv die Vorgänge bei einer App mit denen einer RIA vergleichen.
Ralph Steyer
12. Erweiterte Cordova-Themen – Was rund um die eigentlichen Apps noch geht
Zusammenfassung
Das abschließende Kapitel des Buchs kümmert sich um fortgeschrittene oder ergänzende Themen rund um Cordova. Dabei geht es weniger um die eigentliche Erstellung des Web-Codes von Cordova-Apps, sondern um Begebenheiten rund herum. Wir wollen uns Templates, Hooks, das Erstellen von eigenen Plugins und das sogenannte Whitelisting sowie die Festlegung von Regeln für externe Inhalte über die Content Security Policy ansehen. Damit wurden wir im Laufe des Buchs immer wieder konfrontiert und jetzt schauen wir zum Abschluss etwas hinter die Kulissen.
Ralph Steyer
Backmatter
Metadata
Title
Cordova
Author
Ralph Steyer
Copyright Year
2017
Electronic ISBN
978-3-658-16724-0
Print ISBN
978-3-658-16723-3
DOI
https://doi.org/10.1007/978-3-658-16724-0

Premium Partner