bouw cross-platform mobiele apps met phonegap

30
PhoneGap Bouw cross-platform mobiele apps met HTML5, CSS3 en JavaScript Dion Olsthoorn

Upload: dion-olsthoorn

Post on 18-Jan-2015

500 views

Category:

Technology


0 download

DESCRIPTION

Dit zijn de slides van mijn presentatie over PhoneGap op de TechDays 2013. PhoneGap is een Open Source framework waarmee je mobiele apps kunt ontwikkelen met alleen HTML, CSS en JavaScript. Via een set van device APIs kunnen native device functies, zoals de camera of de acceleratiemeter met JavaScript worden aangestuurd. Bouw je app één keer voor alle mobiele platformen: o.a. iOS, Android, Blackberry, Windows Phone en Windows 8. In deze sessie leer je wat PhoneGap is en hoe het van binnen werkt. Daarna wordt een eenvoudige voorbeeld applicatie gebouwd die zonder aanpassingen werkt voor zowel iPhone, Android als Windows Phone.

TRANSCRIPT

Page 1: Bouw cross-platform mobiele apps met PhoneGap

PhoneGapBouw cross-platform mobiele apps met HTML5, CSS3 en JavaScript

Dion Olsthoorn

Page 2: Bouw cross-platform mobiele apps met PhoneGap

Wat is PhoneGap?• …open source platform• …bouw cross-platform mobiele

apps• …met HTML, CSS en JavaScript• …werkt met Visual Studio, Xcode,

Eclipse

Page 3: Bouw cross-platform mobiele apps met PhoneGap

Wat doet PhoneGap?1. Het start jouw HTML+CSS+JS als native

app. Voor iOS, Android, BB, WP, Windows 8

2. Het biedt toegang tot native functies d.m.v. een cross-platform JavaScript API

Page 4: Bouw cross-platform mobiele apps met PhoneGap
Page 5: Bouw cross-platform mobiele apps met PhoneGap

?

Page 6: Bouw cross-platform mobiele apps met PhoneGap

Dit is je user interface:een web browser instantie.

100% hoogte100% breedte

JavaScript

Native

Page 7: Bouw cross-platform mobiele apps met PhoneGap

… Whatever.js

Page 8: Bouw cross-platform mobiele apps met PhoneGap

Web browser op je mobiel

Native mobiele functies

PhoneGap

Page 9: Bouw cross-platform mobiele apps met PhoneGap

PhoneGap of Cordova?• PhoneGap is een distributie van Cordova• Timeline:– 2008: Nitobi maakt PhoneGap (open source)–mid 2011: PhoneGap 1.0– eind 2011: Adobe koopt Nitobi– PhoneGap verhuist naar Apache SF

en krijgt nieuwe naam:

Page 10: Bouw cross-platform mobiele apps met PhoneGap
Page 11: Bouw cross-platform mobiele apps met PhoneGap

PhoneGap JavaScript API• Sensors– GPS, accelerometer, Kompas, Camera, Netwerk

• Data– Contacts, Media, Filesysteem, Notificaties,

Storage

• Events– deviceready, online, offline, volumedown, etc.

Page 12: Bouw cross-platform mobiele apps met PhoneGap
Page 13: Bouw cross-platform mobiele apps met PhoneGap

Native App - .xap .apk. ipa

Cordova engine (+ toegang native functies)

Mobiele web-browser

cordova.js?

PhoneGap onder de motorkap

Page 14: Bouw cross-platform mobiele apps met PhoneGap

PhoneGapis een hack!

• Windows Phone– JavaScript:

window.external.notify– Browser object:

ScriptNotify

• iOS– JavaScript:

“gap://class/method/args”– UIWebView vangt dit af

• Android– Http callback server

Page 15: Bouw cross-platform mobiele apps met PhoneGap

PhoneGap Plugins• BarcodeScanner• Text-to-Speech• System Notifications• Live Tiles (Windows Phone only)• …en nog veel meer!

Page 16: Bouw cross-platform mobiele apps met PhoneGap

Bouw je eigen PhoneGap PluginAanroep vanuit

JavaScriptWindows Phone .NET

Page 17: Bouw cross-platform mobiele apps met PhoneGap

Is PhoneGap de “Silver Bullet”?

Page 18: Bouw cross-platform mobiele apps met PhoneGap

Dezelfde HTML op alle platformen

Page 19: Bouw cross-platform mobiele apps met PhoneGap
Page 20: Bouw cross-platform mobiele apps met PhoneGap

Slechte reputatie PhoneGap?1. UI is traag; niet responsive2. Eenheidsworst; geen native UI3. Niet de “proven way” om apps te

bouwen4. Nauwelijks aansprekende apps

Page 21: Bouw cross-platform mobiele apps met PhoneGap

Mobiele browser apps niet snappy?

• Click event in mobiele browser..– …heeft 300ms vertraging– …is nodig voor bijv. dubbel-klik zoom

• Windows Phone– CSS: “-ms-touch-action: none;”

• iOS en Android– fastclick.js (“touchup” event i.p.v. “click”)

Page 22: Bouw cross-platform mobiele apps met PhoneGap

Native UI’s “rock”

Page 23: Bouw cross-platform mobiele apps met PhoneGap

NFC? Augmented Reality? Go Native!

Page 24: Bouw cross-platform mobiele apps met PhoneGap

App

PhoneGap

Page 25: Bouw cross-platform mobiele apps met PhoneGap

Debugging• Weinre– debug.phonegap.com

• Ripple– emulate.phonegap.com

• console.log(‘…’);

Page 26: Bouw cross-platform mobiele apps met PhoneGap

PhoneGap Build

Page 27: Bouw cross-platform mobiele apps met PhoneGap

Wanneer _wel_ PhoneGap?• Eenvoudige apps.

“Native” gevoel niet het belangrijkste.

• Gebruik je HTML en JavaScript kennis

• Deploy naar meerdere platformen• App store en offline data

Page 28: Bouw cross-platform mobiele apps met PhoneGap

Wanneer _niet_ PhoneGap?• Native look & feel nodig (bijv.

panorama)• Complexe UI en API’s• Maximale snelheid nodig (games!)• Als je target naar één platform

Page 29: Bouw cross-platform mobiele apps met PhoneGap

Start links• http://phonegap.com/developer• http://jquerymobile.com – NuGet JQueryMobile for Windows

Phone

Page 30: Bouw cross-platform mobiele apps met PhoneGap

http://www.macaw.nl/werkenbijmacaw/vacatures