Ik geef training in frontend tools en stacks als HTML, JavaScript, TypeScript, React, Angular en Vue. Ik schrijf boeken en artikelen over tal van (ICT-) onderwerpen. Ik was lead developer en directeur bij Yindo - Jouw digitale bibliotheek. Je kunt mij volgen op Twitter(@PeterKassenaar).

In dit blog vind je persoonlijke artikelen, die niet noodzakelijk tech-gerelateerd zijn.

Views and expressions are my own.

Terug naar de algemene site.

24april

Web Development Library–PhoneGap

Als je – zoals ik – al bijna twintig jaar ICT-boeken schrijft, is het uitkomen van een nieuwe titel toch een beetje business as usual geworden. Je raakt er aan gewend, dat de PostNL-bus de straat in draait om weer een doos met auteursexemplaren af te leveren.

Web Development Library - PhoneGap

Maar soms verschijnt er een uitgave waar je toch extra trots op bent. Dat was het geval bij het boek over AngularJS, maar beslist ook nu, bij het uitkomen van Web Development Library – PhoneGap.

Het is een vreselijk leuk boek geworden – al zeg ik het zelf - en het is bij mijn weten het eerste oorspronkelijk Nederlandstalige (=niet vertaalde) werk over PhoneGap en Cordova.

Waar gaat het boek over? In één zin: je leert apps maken voor Android, iOS en Windows Phone op basis van HTML, CSS en JavaScript. Deze apps kun je vervolgens publiceren in Google Play of de Apple App Store (oké, dat zijn toch twee zinnen).

Hoewel het boek nog geen 300 pagina’s is, leer je toch alles over het gebruiken van PhoneGap Build (de cloud-tool om apps te maken, dan hoef je zelf niks te installeren), het zelf installeren van PhoneGap/Cordova op je pc of Mac, het maken van basis-apps en het testen ervan in de emulator of op je eigen smartphone of tablet, het werken met standaardplug-ins voor camera, kompas, GPS en dergelijke, het werken met aanvullende plug-ins (met een speciale rol voor plug-ins van de Nederlander Eddy Verbruggen) als een barcodescanner, social sharing en het plaatsen van advertenties in je app, tot het signeren en publiceren van je app in de diverse app stores.

De app die je zelf maakt in dit boek kun je alvast downloaden in de store:

Android app on Google Play 

Kortom: “Web Development Library – PhoneGap is een totaalwerk als het gaat om het maken, onderhouden en publiceren van je eigen mobiele apps.”

Voor de volledigheid de algemene kenmerken van het boek:

9789059407862Specificaties

  • Boek, paperback, 280 pagina’s.
  • ISBN-13: 978-90-5940-786-2 (9789059407862)
  • Geschikt voor opleidingen en zelfstudie
  • Onafhankelijk van gebruikte platform en browser
  • Prijs: EUR 24,95

Van de flaptekst

“PhoneGap (of Cordova) is een JavaScript-bibliotheek om op basis van de webstandaarden HTML, CSS en JavaScript mobiele apps te ontwikkelen voor Android, iOS en Windows Phone. Apps die met PhoneGap worden gemaakt, kunnen desgewenst worden gepubliceerd in de diverse app stores. Maar naast het realiseren van standalone apps kunt u met PhoneGap ook gebruikmaken van de apparaatmogelijkheden zoals de camera, GPS, contactenlijst, delen op sociale media en meer. In dit boek komen al deze functies aan de orde. U eindigt met een eigen app in de store. Tot de behandelde onderwerpen behoren:

  • Kennismaken met PhoneGap.
  • Een eerste PhoneGap-app schrijven.
  • Werken met de cloudomgeving PhoneGap Build.
  • PhoneGap lokaal installeren en gebruiken.
  • Werken met de basisplug-ins en third-party plug-ins.
  • Apps publiceren in Google Play en in de Apple App Store.

Meer informatie en downloads vind je op www.webdevelopmentlibrary.nl  De app die je in dit boek maakt, is ook beschikbaar in Google Play en de Apple App Store. Zoek naar de app WDL – PhoneGap.

Direct bestellen

Peter Kassenaar
-- 24 april 2015

27februari

PhoneGap-apps handmatig signeren

Het maken en testen van PhoneGap/Cordova-apps op je eigen computer is niet lastig. De apps worden dan gesigneerd met een (tijdelijke, machinegebonden) debug-key en met deze key op je device geplaatst. phonegap-to-googlePlay

Anders wordt het als je je apps wilt publiceren in de Google Play Store. Dan moeten ze met een ‘echt’ certificaat worden ondertekend. Nu is dat proces niet zo lastig als bij Apple, waarbij je verplicht via het Apple Developer Portal moet werken, maar het kan toch nog een hele klus zijn.

Opties

Als je app gereed is, heb je verschillende opties:

  • Signeren via Eclipse en de Android Developer Tools (als je met deze IDE werkt).
  • Signeren via Android Studio. Android Studio gebruikt echter een andere build-tool (Gradle) dan PhoneGap/Cordova (Apache Ant), reden waarom het ook niet eenvoudig is een PhoneGap-app vanuit Android Studio te signeren.
  • Handmatig signeren vanaf de command line.

Deze laatste optie is de optie die altijd werkt, ongeacht het platform (Mac/Pc/Linux) en de tool die je gebruikt. Ik heb van het complete proces een YouTube-video gemaakt. Daaronder worden de stappen nog kort samengevat, maar bekijk de video (15 min.) voor een complete walkthrough.

http://www.youtube.com/watch?v=EAzFAntSM3Q

Stappen

1. Maak een keystore. Bewaar de keystore op een veilige plaats. Onthoud je wachtwoord voor de keystore. Elke app heeft zijn eigen keystore. Maak nieuwe builds van de app (updates) met dezelfde keystore.

De opdracht luidt (vervang […] door gegevens van je eigen app)

keytool -genkey -v -keystore [appname-key].keystore -alias [alias_appName] -keyalg RSA -keysize 2048 -validity 10000

2. Compileer de app in release-mode. Maak hiervoor een bestand ant.properties in de root van je android-projectmap. Dit is de inhoud van ant.properties:

key.store=[/Pad/Naar/Jouw/keystores/hello-key.keystore]
key.alias=alias_[appname]

3. Typ de opdracht ant release. Ant maakt nu in de \bin map van het project een release-versie van de app.

3a. Krijg je de foutmelding sdk.dir is missing ? Dit vooral het geval als je de app voor het eerst in release-modus wilt maken, zo heb ik gemerkt. Bij updates gaat het meestal goed. Draai dan eerst een update van het project. De opdracht hiervoor is

android update project –p [/Pad/Naar/Jouw/Project/platforms/android] –subprojects

Typ daarna opnieuw de opdracht ant release.

Typ je wachtwoord (uit stap 1) als daar om gevraagd wordt.

4. Draai jarsigner. De opdracht hiervoor is:

cd \bin

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [Pad/Naar/Appname-key.keystore] CordovaApp-release-unsigned.apk alias_[appName]

4a. Verifieer eventueel de apk. Deze stap is niet verplicht. De opdracht hiervoor is:

jarsigner -verify -verbose -certs CordovaApp-release-unsigned.apk

5. Draai zipalign. Dit comprimeert de app verder en zet alle bytes in de goede volgorde. De opdracht is:

zipalign -v 4 CordovaApp-release-unaligned.apk FinalAppName.apk

Dan heb je uiteindelijk een gesigneerde, uitgelijnde versie van je app in het bestand FinalAppName.apk. Deze versie kun je uploaden naar Google Play.

Bovenstaande is een verkorte (en ik hoop duidelijker) weergave van de pagina op http://developer.android.com/tools/publishing/app-signing.html.

Succes er mee!

Peter Kassenaar
-- 27 februari 2015