Hybride Apps mit Cordova

Wer bin ich?

Protonet?

Protonet - Carla

Protonet - Maya

Warum hybride Apps?

Was ist eine hybride App?

Vorurteile

„The biggest mistake we’ve made as a company is betting on HTML5 over native.“

Mark Zuckerberg, 2012

State of the Art - 2012

iPhone 4s und iOS 5

Android 4.0

State of the Art - 2014

iPhone 6 und iOS 8

Android 4.4

Moore's Law

Nach Moore's Law verdoppelt sich die Rechenleistung von Prozessoren etwa alle 18 Monate.

iPhone Sunspider Benchmark

Quellen: geekaphone.com

Samsung Galaxy Sunspider Benchmark

Quellen: geekaphone.com

Wann macht's Spaß?

Mindestens Android 4.4

Mindestens iPhone 5

Quellen: Statista, Mixtrend

Vorteile Hybrid

Nachteile Hybrid

Fazit

Hybrid ist mittlerweile gut genug und eine echte Alternative für Unternehmen mit kleinem Budget.

Cordova

Was ist Cordova?

Voraussetzungen

Erste Schritte

1. Setup:

$ sudo npm install -g cordova
$ cordova create hello com.example.hello HelloWorld
$ cd hello
$ cordova platform add ios
$ cordova platform add android

Erste Schritte

2. HTML / CSS / Javascript:

<h1>Hello World</h1>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/app.js"></script>

Erste Schritte

3. Auf Gerät testen:

$ cordova run android
$ cordova run ios

Cordova Plugins

How To Take A Selfie

Installieren:

$ cordova plugin add org.apache.cordova.camera

Verwenden:

navigator.camera.getPicture(
  successCallback,
  failureCallback,
  {
    cameraDirection: Camera.Direction.FRONT,
    quality: 75
  }
);

How To Take A Selfie

GPS-Signal

Installieren:

$ cordova plugin add org.apache.cordova.geolocation

Verwenden:

navigator.geolocation.getCurrentPosition(function(position) {
  var coords = position.coords;
  console.log(coords.latitude, coords.longitude, coords.speed);
});

GPS-Signal

Weitere Plugins

Nützliche JavaScript Libraries

Performance Tipps

Entwicklungs-Tools

Bonus-Material

Crosswalk

Chrome WebView für alle Android Versionen

Selendroid

Test-Framework für Android

ios-driver

iOS-Driver für Selenium

PushWoosh

Push-Service mit Cordova-Support

Danke! Fragen?

Die Präsentation gibt es im Internet unter: http://bit.do/codetalks-cordova

/