Rezension: Apps mit PhoneGap Entwickeln + Selbstversuch

By | 4. April 2013

Heute geht es um das Buch „Apps mit PhoneGap Entwickeln“ von Ralph Steyer, welches ich mir für diesen Monat vorgenommen habe zu betrachten. Da mich das Thema mobile Entwicklung mittels Webtechnologien sehr interessiert natürlich auch naheliegend.

Wie ist diese Rezension aufgebaut? Für jedes Kapitel gibt es eine kleine Beschreibung und natürlich meine persönliche Einschätzung. Allerdings möchte ich zusätzlich bei den praktischen Anteilen des Buches noch selber versuchen dieses umzusetzen. Warum? Erstens zeigt das ob man wirklich irgendwann bei der fertigen App ankommt wie versprochen und ich lerne auch noch etwas dabei. In diesem Sinne viel Spaß beim Lesen (wird natürlich ein etwas längerer Artikel hier auf dem Geek Pub).

Link direkt zum Buch

Vorwort

Im Vorwort gibt der Autor ein paar Hintergrundinformationen über sich preis, wie zum Beispiel das er Diplom Mathematiker mit einem Hang zur Physik ist. Background aus der Java & Desktop Entwicklung.

Ich muss sagen bereits das Vorwort macht durch die angenehme Art des Autor lust auf mehr!

Kapitel 1: Einleitung und Grundlagen

Einführung in das Buch, mit vielen nützlichen Informationen rund um die mobile Entwicklung. Es wird auf die für das Buch relevanten Referenzsysteme eingegangen (Android, Windows Phone, iOS). Kurzer Exkurs zu den Technologien (HTML, CSS, JavaScript).

Gleich zu Anfang wird auch ein schneller Überblick über die einzelnen Themen geliefert, welche im folgenden diese wären:

  • PhoneGap
  • Projekte einrichten
  • Hardware
  • Frameworks + Bibliotheken
  • Aufbau von Oberflächen
  • Zugriff auf die Hardware (GPS und co.)
  • Vermarktung der eigenen App

Sehr schön finde ich das bereits hier auch klar gemacht wird das man keine großen Vorkenntnisse benötigt, allerdings sich schon sicher sein sollte im Umgang mit HTML,CSS und JavaScript. Welches OS ihr benutzt ist übrigens zum Durcharbeiten des Buches irrelevant, ihr könnt OSx, Linux oder auch Windows benutzen.

Ein großer Teil dieses Kapitels erklärt zusätzlich noch wie ihr euch auf den verschiedenen Plattformen (AppStores) anmeldet etc. Sehr nützlich wenn man selber noch keinen Plan von z.B. Windows Phone hat, da man nur Android benutzt 🙂

Kapitel 2. Native Apps vs. Web-Apps und mobile Webapplikationen

Hier geht der Autor wie schon vermuten lässt auf die Vor/Nachteile und Unterschiede der verschiedenen Begriffe ein. Ein weiterer Abschnitt widmet sich auch wenn es bei dem Buch um die Entwicklung mit PhoneGap geht, der Entwicklung von nativen Apps.

Nun geht es aber auch schon die Praxis, genauer um die Vorbereitung zum Entwickeln für Android. Installation von Eclipse, AndroidSDK und co. Für jeden Plattform wird kurz auf das Anlegen eines Projektes eingegangen.

Die Installation der Tools verlief vollkommen problemlos anhand der Beschreibung, auch wenn es für mich sehr ungewohnt war das dicke Eclipse Paket zu installieren. Bin ich es doch gewöhnt auf meinem Mac ausschließlich unter Netbeans zu entwickeln. Auf das Anlegen der Projekte habe ich mal verzichtet, denke das kommt noch mal.

Sind die ersten Hürden genommen, geht es weiter mit ein paar Informationen zum Deployment und den Unterschieden zwischen Android 3.7 + 4.x, etwas schade finde ich das auf eine ältere Eclipse Version eingegangen wird als notwendig ist. Dafür gibt es dann aber reichlich Screenshots die einem das Leben erleichtern. Den Abschluss des Kapitels bildet ein kurzer Exkurs zu iOS und Windows Phone Entwicklung.

Kapitel 3.Download und erste Anwendung von PhoneGap

Gleich weiter in der Praxis, es geht los mit dem Download des PhoneGap Frameworks (das Buch basiert auf Version 2.2, zum Zeitpunkt dieses Artikels gibt es bereits 2.5x). Erwähnung sollte finden das die Schritte für das erste Projekt für alle 3 „Hauptplattformen“ beschrieben werden, besonderes Augenmerk liegt auf Android.

Habe mich entgegen meiner Art dazu entschlossen auch die ältere PhoneGap Version zu downloaden 🙂 Wollen uns das Leben ja nicht zu schwer machen. Das Anlegen des ersten Projekts grenzt für einen verwöhnten PHP Entwickler wie mich an Schwerstarbeit. Die neuere Eclipse Version die ich nutze macht leider einiges anders als im Buch beschrieben, sprich wenn mal generierter Source Code nicht wie im Buch aussieht.. das passt schon 🙂 Wie lange der doofe Emulator zum Starten braucht ist meiner Meinung nach übrigens ein Witz… 

Der erste Versuch

Nicht schön finde ich beim Einrichten die Tipp-Arbeit der XML Einstellungen, hier hätte ein Download geholfen, auch wenn es sicherlich lehrreich ist alles manuel zu erledigen. Nach dem Android Part wiederholt sich das ganze dann für Windows Phone und natürlich iOS.

Das nächste „große „Thema in Kapitel 3, widmet sich der unterschiedlichen Möglichkeiten der Zielplattformen in Hinblick auf die Vergabe von Berechtigungen, und was man so als Standard nutzen sollte.

Kapitel 4. Webtechnologien unter PhoneGap 

Im großen und ganzen bietet das Kapitel ein paar sehr grundlegende Informationen zum Umgang mit CSS, HTML und JavaScript. Ich behaupte mal wer bereits Erfahrungen im Bereich Webentwicklung hat, wird hier nichts neues finden.

Wichtig ist allerdings das hier die ersten „Templates“ angelegt werden, die wohl im Laufe des  Buches weiter nutzbar sind (eigene Script Dateien, CSS etc.). Der Abschluss des kurzen Kapitels gibt noch schnell etwas Hilfestellung zum Verwenden von Pfaden in einem PhoneGap Projekt, und das war es auch schon.

Kleiner Tipp von mir am Rande: Es macht mehr Spaß wenn man sich die Web Tools im Eclipse installiert (Help – Install new Software – suchen nach Web) , so hat man zmnd. Syntax Highlighting

Kapitel 5. Wo bin ich und wo will ich hin?

Hier geht es nun endlich an das „eingemachte“: Geolokalisierung, Geodating und Richtungsbestimmung. Der erste Part behandelt eines der wohl wichtigsten JavaScript Objekte im Zusammenhang mit der Mobilen – Entwicklung: „navigator“. Zum Testen wir ein kleines Beispiel genutzt was alle Eigenschaften des Devies ausgibt.

Da war jetzt der Wurm drinnen, irgendwie will der „deviceready“ Event nicht mit der SDK. Abhilfe schafft es in der AndroidManifest.xml die Zeile anzupassen:

 Dann bekommt man auch das gewünschte Ergebnis 🙂 Kann gut sein das die neue Eclipse Version hier mist gemacht hat. 

Bildschirmfoto 2013-03-26 um 19.22.28

Die nächsten Abschnitte geben eine Einführung rund um das Thema Geodating (Lokalisierung), angefangen bei GPS bis zum Feststellen der Position über WLAN. Finde es hier sehr gut das auch einiges an essentiellen Hintergrundwissen, gerade für Anfänger vermittelt wird.

Nach der Theorie in die Praxis, erste Gehversuche mit dem Auffinden der Position. Was mich stört (da kann das Buch natürlich nichts für) ist das Eclipse kein Code Assist für PhoneGap bietet. Es werden anhand eines einfachen Beispiels die diversen Ausgaben der Geolocation genutzt. Klappt wunderbar 🙂

Selbstredend geht es dann mit Google Maps + Lokalisierung , Geschwindigkeit, Kompass und Beschleunigung weiter. Selber habe ich die Integration mit Google Maps leider nicht hinbekommen, was wohl laut einigen Webseiten am Emulator liegt.

Kapitel 6. Erstellung in der Cloud & mehr

Grundsätzlich befasst sich dieses Kapitel mit dem was PhoneGap interessant macht: Anwendungen für mehrere Plattformen vorbereiten mit der Unterstützung einiger Dienste die im Internet bereitstehen. Hier muss ich wirklich sagen, mal was ganz neues für mich. Mir war wirklich nicht bewusst das es Solche Anbieter gibt 🙂 Der Vorgang wird inklusive Besonderheiten bei der Konfiguration für Anwendung hervorragend beschrieben.

Kapitel 7. Information und Rückmeldung
Wie der Name dieses Kapitel wie der Name schon vermuten lässt dreht es sich darum dem Anwender Rückmeldung zu geben, sowie Informationen über das verwendete Device zu bekommen.

Starten tut es mit einem einfachen Beispiel, muss sagen so ist der Einstieg immmer relativ problemlos möglich. Leider klappen die Sachen bei mir nicht immer auf anhieb, aber konnte meinem Emulator immerhin einige Informationen entlocken:

screenshot_phonegap1

 

So werden jetzt nach und nach alle „wichtigen“ Informationen abgearbeitet, von allgemeinen Informationen bis hin zu dem Netzwerkstatus.
Die nächste Runde befasst sich dann mit dem zweiten Part aus der Überschrift, den Rückmeldungen an den Benutzer. Es darf fleißig gepiept , vibriert und bestätigt werden 🙂

Kapitel 8. PhoneGap im Zusammenspiel mit ergänzenden Frameworks

Vorstellung weiterer Bibliotheken welche gemeinsam mit PhoneGasp genutzt werden können, wer hat heute schon noch lust seinen ganzen JavaScript code „nativ“ runter zu coden? Icb zmnd. nicht. Neben kurzen Vorstellungen der „Konkurrenz“ von PhoneGap wird im Anschluss relativ ausführlich auf JQuery, JQuery UI und JQuery Mobile eingegangen, was meines ersachtens auch äußerst sinnvoll ist.

Ein besonderes Augenmerk wird hier auf JQuery Mobile gelegt, lassen sich damit doch recht anschauliche GUI’s mit wenig Aufwand umsetzen. Das Beispiel mit einem Tacho sieht dann so aus:

Bildschirmfoto 2013-04-04 um 16.22.25

Ganz sicher bin ich mir nicht, aber es scheint als ob Dateinamen in den Beispiel nicht immer zu den verwendeten Librarys passen (JQuery Versionen) etc. Also wenn mal etwas nicht klappt an den gelieferten Beispielen, hier kann es scheitern.

Enden tut das Kapitel noch mit einem ganz kurzen Ausflug zu JQuery UI, was man sich nach meiner Meinung auch hätte schenken können, schaden tut es aber natürlich nicht (stiftet höchstens etwas Verwirrung).

Kapitel 9. Multimediafragen

Jetzt wird es zmnd. für mich etwas „spannender“ Zugriff auf Kamera, Audio & Co. mittels PhoneGap. Erst hier wird mir langsam klar was mit PhoneGap so alles an „Schweinkram“ realisierbar ist. Wichtig für die Beispiele: Im Eclipse entsprechend den Emulator einstellen das es auch eine Kamera gibt, auf dem MacBook kann hier sogar als „Fake“ die Webcam genutzt werden.

Bildschirmfoto 2013-04-04 um 17.01.47

Etwas unnötig finde ich dem Abschnitt die Beispiele „ohne JQuery“ mir fallen spontan zumindest keine Gründe ein, auf JQuery zu verzichten, so langsam ist unser deutsches UMTS Netzwerk doch auch nicht 🙂 Im großen und ganzen aber ein allumfassender Einblick in die Möglichkeiten der Multimedia – Funktionen von PhoneGap.

Kapitel 10. Kontaktfragen

Tja wie der Autor schon am Anfang des Kapitels erwähnt, auch wenn man es kaum glauben mag, aber es gibt noch Menschen die auch mit dem Smartphone telefonieren. Hier macht dann das typische Adressbuch welches es immer gibt durchaus Sinn.

An Beispielen wir der Zugriff auf genau dieses erläutert, und das wirklich gut und sehr ausführlich.

Bildschirmfoto 2013-04-04 um 17.17.40

 

Ein paar Stichworte sollen an dieser Stelle reichen: Suchen, Speichern, Ändern 🙂

Kapitel 11. Ran an den Speicher 

Ebenfalls ein spannendes und sehr wichtiges Thema, wohin mit den Daten, sprich es geht um das Persistieren von Informationen auf dem Smartphone. Den Anfang bildet eine Einführung in Dateioperationen im „allgemeinen“, hat man bereits Erfahrung in irgendeiner Programmiersprache (naja sagen wir mal mit C, Java, PHP und co.) sollten diese Informationen bereits hinlänglich bekannt sein.

Erläutert wird hier aus meiner Sicht alles was man so gebrauchen kann: Klar schreiben/lesen von Dateien und Ordnern, Upload & Download von Dateien.die Verwendung von SQLite Datenbanken und zum Abschluss noch das unter HTML5 eingeführte „localStorage“. Ich vermute zwar das dieses Kapitel auch gerne ein ganzes Buch füllen könnte, aber es ist ja nur ein Einstieg.

Mein Fazit:

Ein sehr schön geschriebenes Buch, es bietet einen guten Einstieg in die Entwicklung von mobilen Applikationen für verschiedene Plattformen. Im Prinzip kann man direkt nach der Lektüre einfache Anwendungen umsetzen. Etwas nervenaufreibend wird es wenn man sich nicht explizit an die Vorgaben in Hinsicht auf Eclipse / PhoneGap etc. Versionen hält (so wie ich), es steigert aber den Lerneffekt (man ist dann gezwungen Google zu bemühen und sich mehr mit der Materie zu beschäftigen). Meine Empfehlung: Anfänger sollten zugreifen!

Wer jetzt zuschlagen möchte: Link direkt zum Buch

One thought on “Rezension: Apps mit PhoneGap Entwickeln + Selbstversuch

  1. Pingback: Geek Pub - Leben im Netz - Webentwicklung - Trends

Comments are closed.