Top Banner
Maximiliano Firtman @firt mobile+web developer MOBILE HTML5 & THE NEW APIS May, 19th, 2012 Buenos Aires, AR Monday, May 21, 12
215

JSConf - Mobile HTML5

Apr 14, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 2: JSConf - Mobile HTML5

mobile+web developer

mobilexweb.com

who am I? @firt

Monday, May 21, 12

Page 3: JSConf - Mobile HTML5

speaker

Monday, May 21, 12

Page 4: JSConf - Mobile HTML5

Monday, May 21, 12

Page 5: JSConf - Mobile HTML5

Cursos y Libros

HTML5Android

iOSBlackBerry

Windows Phone

ITMaster.com.ar @ITMasterCursos

Monday, May 21, 12

Page 6: JSConf - Mobile HTML5

ITMaster.com.ar@ITMasterCursos

Monday, May 21, 12

Page 7: JSConf - Mobile HTML5

Image from my house

books

Monday, May 21, 12

Page 8: JSConf - Mobile HTML5

Monday, May 21, 12

Page 9: JSConf - Mobile HTML5

Monday, May 21, 12

Page 10: JSConf - Mobile HTML5

Monday, May 21, 12

Page 11: JSConf - Mobile HTML5

Monday, May 21, 12

Page 12: JSConf - Mobile HTML5

Monday, May 21, 12

Page 13: JSConf - Mobile HTML5

.com

Monday, May 21, 12

Page 14: JSConf - Mobile HTML5

Monday, May 21, 12

Page 15: JSConf - Mobile HTML5

mobile...

Monday, May 21, 12

Page 16: JSConf - Mobile HTML5

mobile

Monday, May 21, 12

Page 17: JSConf - Mobile HTML5

mobile

‣ absolutely personal

Monday, May 21, 12

Page 18: JSConf - Mobile HTML5

mobile

‣ absolutely personal‣ +5 billions

Monday, May 21, 12

Page 19: JSConf - Mobile HTML5

mobile

‣ absolutely personal‣ +5 billions‣ make us focus

Monday, May 21, 12

Page 20: JSConf - Mobile HTML5

mobile

‣ absolutely personal‣ +5 billions‣ make us focus‣ read our context...

Monday, May 21, 12

Page 21: JSConf - Mobile HTML5

mobile

‣ absolutely personal‣ +5 billions‣ make us focus‣ read our context...‣ ... always...

Monday, May 21, 12

Page 22: JSConf - Mobile HTML5

mobile

‣ absolutely personal‣ +5 billions‣ make us focus‣ read our context...‣ ... always...‣ ... and everywhere.

Monday, May 21, 12

Page 23: JSConf - Mobile HTML5

Monday, May 21, 12

Page 24: JSConf - Mobile HTML5

Monday, May 21, 12

Page 25: JSConf - Mobile HTML5

everybodywantsmobile

Monday, May 21, 12

Page 26: JSConf - Mobile HTML5

then... what is the problem?

Monday, May 21, 12

Page 27: JSConf - Mobile HTML5

mobile is a minefield

Photo by World of Good (Flickr) Malvinas / Falklands Islands

Monday, May 21, 12

Page 28: JSConf - Mobile HTML5

lots of questions

Photo by wayneandwax (Flickr) Monday, May 21, 12

Page 29: JSConf - Mobile HTML5

lots of questions

we need to learn

Monday, May 21, 12

Page 30: JSConf - Mobile HTML5

lots of platformsMonday, May 21, 12

Page 31: JSConf - Mobile HTML5

mobile web appears

Monday, May 21, 12

Page 32: JSConf - Mobile HTML5

but it’s different

Monday, May 21, 12

Page 33: JSConf - Mobile HTML5

but it’s different

‣ slower networks

Monday, May 21, 12

Page 34: JSConf - Mobile HTML5

but it’s different

‣ slower networks‣ higher latency

Monday, May 21, 12

Page 35: JSConf - Mobile HTML5

but it’s different

‣ slower networks‣ higher latency‣ slower hardware

Monday, May 21, 12

Page 36: JSConf - Mobile HTML5

but it’s different

‣ slower networks‣ higher latency‣ slower hardware‣ different browsing experience

Monday, May 21, 12

Page 37: JSConf - Mobile HTML5

but it’s different

‣ slower networks‣ higher latency‣ slower hardware‣ different browsing experience‣ different context

Monday, May 21, 12

Page 38: JSConf - Mobile HTML5

but it’s different

‣ slower networks‣ higher latency‣ slower hardware‣ different browsing experience‣ different context‣ different behaviors

Monday, May 21, 12

Page 39: JSConf - Mobile HTML5

but it’s different

‣ slower networks‣ higher latency‣ slower hardware‣ different browsing experience‣ different context‣ different behaviors‣ different possible networks

Monday, May 21, 12

Page 40: JSConf - Mobile HTML5

mobile browsers

Monday, May 21, 12

Page 41: JSConf - Mobile HTML5

mobile browsers‣ too many

Monday, May 21, 12

Page 42: JSConf - Mobile HTML5

mobile browsers‣ too many‣ (some) too limited

Monday, May 21, 12

Page 43: JSConf - Mobile HTML5

mobile browsers‣ too many‣ (some) too limited‣ (some) too innovative

Monday, May 21, 12

Page 44: JSConf - Mobile HTML5

mobile browsers‣ too many‣ (some) too limited‣ (some) too innovative‣ (some) proxy based

Monday, May 21, 12

Page 45: JSConf - Mobile HTML5

mobile browsers‣ too many‣ (some) too limited‣ (some) too innovative‣ (some) proxy based‣ (most) without documentation

Monday, May 21, 12

Page 46: JSConf - Mobile HTML5

mobile browsers‣ too many‣ (some) too limited‣ (some) too innovative‣ (some) proxy based‣ (most) without documentation‣ (most) without a name

Monday, May 21, 12

Page 47: JSConf - Mobile HTML5

mobile browsers‣ too many‣ (some) too limited‣ (some) too innovative‣ (some) proxy based‣ (most) without documentation‣ (most) without a name‣ (most) without debugging tools

Monday, May 21, 12

Page 48: JSConf - Mobile HTML5

mobile browsers

Monday, May 21, 12

Page 49: JSConf - Mobile HTML5

mobile browsers

‣ (some) focus-based

Monday, May 21, 12

Page 50: JSConf - Mobile HTML5

mobile browsers

‣ (some) focus-based‣ (some) cursor-based

Monday, May 21, 12

Page 51: JSConf - Mobile HTML5

mobile browsers

‣ (some) focus-based‣ (some) cursor-based‣ (some) touch-based

Monday, May 21, 12

Page 52: JSConf - Mobile HTML5

mobile browsers

‣ (some) focus-based‣ (some) cursor-based‣ (some) touch-based‣ (some) multitouch-based

Monday, May 21, 12

Page 53: JSConf - Mobile HTML5

mobile browsers

‣ (some) focus-based‣ (some) cursor-based‣ (some) touch-based‣ (some) multitouch-based‣ (some) with zooming support

Monday, May 21, 12

Page 54: JSConf - Mobile HTML5

mobile browsers

‣ (some) focus-based‣ (some) cursor-based‣ (some) touch-based‣ (some) multitouch-based‣ (some) with zooming support‣ (most) unknown for web devs

Monday, May 21, 12

Page 55: JSConf - Mobile HTML5

some are known

Monday, May 21, 12

Page 56: JSConf - Mobile HTML5

some are known

‣ Safari (on iOS)

‣ Opera Mobile (on Android & Symbian)

‣ Firefox (on Android)

‣ Chrome (on Android)

‣ Internet Explorer (on Windows Phone)

Monday, May 21, 12

Page 57: JSConf - Mobile HTML5

some are unknown

Monday, May 21, 12

Page 58: JSConf - Mobile HTML5

some are unknown‣ Nokia Browser (on Symbian, S40 & Meego 1.2)‣ BlackBerry Browser ‣ Android Browser‣ webOS Browser ‣ Amazon Silk‣ Bada Browser‣ Opera Mini‣ NetFront‣ Phantom‣ ...

Monday, May 21, 12

Page 59: JSConf - Mobile HTML5

and with different versions...

Monday, May 21, 12

Page 60: JSConf - Mobile HTML5

and we can also create native apps

-such as phonegap-

Monday, May 21, 12

Page 61: JSConf - Mobile HTML5

nativevs

web

Monday, May 21, 12

Page 62: JSConf - Mobile HTML5

native codevs

javascript

Monday, May 21, 12

Page 63: JSConf - Mobile HTML5

browservs

installed apps& stores

Monday, May 21, 12

Page 64: JSConf - Mobile HTML5

what is native?

Monday, May 21, 12

Page 65: JSConf - Mobile HTML5

what is a webapp?

Monday, May 21, 12

Page 66: JSConf - Mobile HTML5

standars?

Monday, May 21, 12

Page 67: JSConf - Mobile HTML5

Photo by Ben Millett (Flickr) Monday, May 21, 12

Page 68: JSConf - Mobile HTML5

Monday, May 21, 12

Page 69: JSConf - Mobile HTML5

Are you sure?

Photo by Ricky David (Flickr) Monday, May 21, 12

Page 70: JSConf - Mobile HTML5

What is ?

Monday, May 21, 12

Page 71: JSConf - Mobile HTML5

html5

Monday, May 21, 12

Page 72: JSConf - Mobile HTML5

html5

‣ w3c standards (all in draft)

Monday, May 21, 12

Page 73: JSConf - Mobile HTML5

html5

‣ w3c standards (all in draft)‣ some are other w3c standards

Monday, May 21, 12

Page 74: JSConf - Mobile HTML5

html5

‣ w3c standards (all in draft)‣ some are other w3c standards ‣ de-facto standards

Monday, May 21, 12

Page 75: JSConf - Mobile HTML5

html5

‣ w3c standards (all in draft)‣ some are other w3c standards ‣ de-facto standards‣ w3c ex-standards

Monday, May 21, 12

Page 76: JSConf - Mobile HTML5

html5

‣ w3c standards (all in draft)‣ some are other w3c standards ‣ de-facto standards‣ w3c ex-standards‣ everything “new” on the web

Monday, May 21, 12

Page 77: JSConf - Mobile HTML5

html version 5?

Monday, May 21, 12

Page 78: JSConf - Mobile HTML5

why mobile html5?

Monday, May 21, 12

Page 79: JSConf - Mobile HTML5

typeof html5 != boolean

Monday, May 21, 12

Page 80: JSConf - Mobile HTML5

some features safe

Monday, May 21, 12

Page 81: JSConf - Mobile HTML5

some features only on few platforms

Monday, May 21, 12

Page 82: JSConf - Mobile HTML5

some features experimental

Monday, May 21, 12

Page 83: JSConf - Mobile HTML5

some features with prefixes

Monday, May 21, 12

Page 84: JSConf - Mobile HTML5

and what aboutcapabilities today?

Monday, May 21, 12

Page 85: JSConf - Mobile HTML5

Monday, May 21, 12

Page 86: JSConf - Mobile HTML5

vendors hate developers

Monday, May 21, 12

Page 87: JSConf - Mobile HTML5

emulators www.mobilexweb.com/emulators

Monday, May 21, 12

Page 88: JSConf - Mobile HTML5

friends

lots of them

and with different devices

Monday, May 21, 12

Page 89: JSConf - Mobile HTML5

virtual labs

real devices on real networks

www.perfectomobile.com www.deviceanywhere.com

Monday, May 21, 12

Page 90: JSConf - Mobile HTML5

debugging tools

Remote Web Inspector

• BlackBerry Smartphones 7• BlackBerry PlayBook• Google Chrome for Android 4• Opera Mobile

Monday, May 21, 12

Page 91: JSConf - Mobile HTML5

debugging tools

iwebinspector.comMonday, May 21, 12

Page 92: JSConf - Mobile HTML5

debugging tools

adobe.com/go/shadow

Adobe Shadow

Monday, May 21, 12

Page 93: JSConf - Mobile HTML5

users hate developers

Monday, May 21, 12

Page 94: JSConf - Mobile HTML5

Monday, May 21, 12

Page 95: JSConf - Mobile HTML5

Monday, May 21, 12

Page 96: JSConf - Mobile HTML5

Monday, May 21, 12

Page 97: JSConf - Mobile HTML5

Monday, May 21, 12

Page 98: JSConf - Mobile HTML5

Picture from Simon Howden freedigitalphotos.net!

mobile web

is slow

Monday, May 21, 12

Page 99: JSConf - Mobile HTML5

JS APIs haveevolved

Monday, May 21, 12

Page 100: JSConf - Mobile HTML5

why?

Monday, May 21, 12

Page 101: JSConf - Mobile HTML5

Monday, May 21, 12

Page 102: JSConf - Mobile HTML5

mobile html5 capabilities

offline & data storagegeolocationhardware: motion, camera, batterydrawing apisanimations and transitionsphone integration: calls, contactstouch and gesture events

Monday, May 21, 12

Page 103: JSConf - Mobile HTML5

app.ft.com

Monday, May 21, 12

Page 104: JSConf - Mobile HTML5

native web apps

Monday, May 21, 12

Page 105: JSConf - Mobile HTML5

Boot2Gecko (B2G)

Monday, May 21, 12

Page 106: JSConf - Mobile HTML5

Monday, May 21, 12

Page 107: JSConf - Mobile HTML5

architecture

Monday, May 21, 12

Page 108: JSConf - Mobile HTML5

Monday, May 21, 12

Page 109: JSConf - Mobile HTML5

Monday, May 21, 12

Page 110: JSConf - Mobile HTML5

Monday, May 21, 12

Page 111: JSConf - Mobile HTML5

Monday, May 21, 12

Page 112: JSConf - Mobile HTML5

Monday, May 21, 12

Page 113: JSConf - Mobile HTML5

Monday, May 21, 12

Page 114: JSConf - Mobile HTML5

Monday, May 21, 12

Page 115: JSConf - Mobile HTML5

let’s see some code

Monday, May 21, 12

Page 116: JSConf - Mobile HTML5

Monday, May 21, 12

Page 117: JSConf - Mobile HTML5

offline installation

HTML5 3.0+ 2.1+ 6.0+ Mobile 11+ 5.0+

Monday, May 21, 12

Page 118: JSConf - Mobile HTML5

offline installation‣ Install a package on the device

HTML5 3.0+ 2.1+ 6.0+ Mobile 11+ 5.0+

Monday, May 21, 12

Page 119: JSConf - Mobile HTML5

offline installation‣ Install a package on the device‣ Complex to debug / reload

HTML5 3.0+ 2.1+ 6.0+ Mobile 11+ 5.0+

Monday, May 21, 12

Page 120: JSConf - Mobile HTML5

offline installation‣ Install a package on the device‣ Complex to debug / reload‣ Buggy on some platforms

HTML5 3.0+ 2.1+ 6.0+ Mobile 11+ 5.0+

Monday, May 21, 12

Page 121: JSConf - Mobile HTML5

offline installation‣ Install a package on the device‣ Complex to debug / reload‣ Buggy on some platforms‣ online / offline events

HTML5 3.0+ 2.1+ 6.0+ Mobile 11+ 5.0+

Monday, May 21, 12

Page 122: JSConf - Mobile HTML5

offline installation‣ Install a package on the device‣ Complex to debug / reload‣ Buggy on some platforms‣ online / offline events‣ on iOS can be mixed with icons and full-screen webapp metatags

HTML5 3.0+ 2.1+ 6.0+ Mobile 11+ 5.0+

Monday, May 21, 12

Page 123: JSConf - Mobile HTML5

geolocation

Geolocation 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 124: JSConf - Mobile HTML5

geolocation

‣ GPS, A-GPS, Wi-Fi, cells

Geolocation 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 125: JSConf - Mobile HTML5

geolocation

‣ GPS, A-GPS, Wi-Fi, cells‣ (some) force GPS “highAccuracy”

Geolocation 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 126: JSConf - Mobile HTML5

geolocation

‣ GPS, A-GPS, Wi-Fi, cells‣ (some) force GPS “highAccuracy”‣ (some) heading

Geolocation 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 127: JSConf - Mobile HTML5

geolocation

‣ GPS, A-GPS, Wi-Fi, cells‣ (some) force GPS “highAccuracy”‣ (some) heading‣ once or movement

Geolocation 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 128: JSConf - Mobile HTML5

offline web storage

Web Storage 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 129: JSConf - Mobile HTML5

offline web storage

‣ persistent and session storage

Web Storage 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 130: JSConf - Mobile HTML5

offline web storage

‣ persistent and session storage‣ key/value (strings)

Web Storage 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 131: JSConf - Mobile HTML5

offline web storage

‣ persistent and session storage‣ key/value (strings)‣ (some) allow object storage

Web Storage 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 132: JSConf - Mobile HTML5

offline web storage

‣ persistent and session storage‣ key/value (strings)‣ (some) allow object storage‣ limit space, non-standard ~5Mb

Web Storage 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 133: JSConf - Mobile HTML5

offline web storage

‣ persistent and session storage‣ key/value (strings)‣ (some) allow object storage‣ limit space, non-standard ~5Mb‣ be careful with private browsing

Web Storage 2.0+ 2.0+ 6.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 134: JSConf - Mobile HTML5

offline sql storage

deprecated 2.2+ 2.0+ 6.0+ Mobile 11+

Monday, May 21, 12

Page 135: JSConf - Mobile HTML5

offline sql storage

‣ persistent and session storage

deprecated 2.2+ 2.0+ 6.0+ Mobile 11+

Monday, May 21, 12

Page 136: JSConf - Mobile HTML5

offline sql storage

‣ persistent and session storage‣ key/value (strings)

deprecated 2.2+ 2.0+ 6.0+ Mobile 11+

Monday, May 21, 12

Page 137: JSConf - Mobile HTML5

offline sql storage

‣ persistent and session storage‣ key/value (strings)‣ (some) allow object storage

deprecated 2.2+ 2.0+ 6.0+ Mobile 11+

Monday, May 21, 12

Page 138: JSConf - Mobile HTML5

offline sql storage

‣ persistent and session storage‣ key/value (strings)‣ (some) allow object storage‣ limit space, non-standard ~5Mb

deprecated 2.2+ 2.0+ 6.0+ Mobile 11+

Monday, May 21, 12

Page 139: JSConf - Mobile HTML5

offline sql storage

‣ persistent and session storage‣ key/value (strings)‣ (some) allow object storage‣ limit space, non-standard ~5Mb‣ be careful with private browsing

deprecated 2.2+ 2.0+ 6.0+ Mobile 11+

Monday, May 21, 12

Page 140: JSConf - Mobile HTML5

multimedia API

Web Storage 3.0+ 2.3+ 7.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 141: JSConf - Mobile HTML5

multimedia API

‣ audio and video tags

Web Storage 3.0+ 2.3+ 7.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 142: JSConf - Mobile HTML5

multimedia API

‣ audio and video tags‣ javascript api & events

Web Storage 3.0+ 2.3+ 7.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 143: JSConf - Mobile HTML5

multimedia API

‣ audio and video tags‣ javascript api & events‣ codecs nightmare

Web Storage 3.0+ 2.3+ 7.0+ Mobile 11+ 5.0+9.0+

Monday, May 21, 12

Page 144: JSConf - Mobile HTML5

2d drawing api (canvas)

HTML5 1.0+ 1.5+ 6.0+ Mob 10+ / Mini 5 4.0+9.0+

Monday, May 21, 12

Page 145: JSConf - Mobile HTML5

2d drawing api (canvas)

‣ great support

HTML5 1.0+ 1.5+ 6.0+ Mob 10+ / Mini 5 4.0+9.0+

Monday, May 21, 12

Page 146: JSConf - Mobile HTML5

2d drawing api (canvas)

‣ great support‣ javascript-based drawing

HTML5 1.0+ 1.5+ 6.0+ Mob 10+ / Mini 5 4.0+9.0+

Monday, May 21, 12

Page 147: JSConf - Mobile HTML5

2d drawing api (canvas)

‣ great support‣ javascript-based drawing‣ (some) allows data URI export

HTML5 1.0+ 1.5+ 6.0+ Mob 10+ / Mini 5 4.0+9.0+

Monday, May 21, 12

Page 148: JSConf - Mobile HTML5

svg

SVG 2.2+ 3.0+ 4.7+ Mob 10+ / Mini 5 4.0+9.0+

Monday, May 21, 12

Page 149: JSConf - Mobile HTML5

svg

‣ old standard

SVG 2.2+ 3.0+ 4.7+ Mob 10+ / Mini 5 4.0+9.0+

Monday, May 21, 12

Page 150: JSConf - Mobile HTML5

svg

‣ old standard‣ scalable vector graphics

SVG 2.2+ 3.0+ 4.7+ Mob 10+ / Mini 5 4.0+9.0+

Monday, May 21, 12

Page 151: JSConf - Mobile HTML5

svg

‣ old standard‣ scalable vector graphics‣ (some) allows inline <svg> tag

SVG 2.2+ 3.0+ 4.7+ Mob 10+ / Mini 5 4.0+9.0+

Monday, May 21, 12

Page 152: JSConf - Mobile HTML5

svg

‣ old standard‣ scalable vector graphics‣ (some) allows inline <svg> tag‣ (some) allows svg as background

SVG 2.2+ 3.0+ 4.7+ Mob 10+ / Mini 5 4.0+9.0+

Monday, May 21, 12

Page 153: JSConf - Mobile HTML5

svg

‣ old standard‣ scalable vector graphics‣ (some) allows inline <svg> tag‣ (some) allows svg as background‣ (some) allows svg as font

SVG 2.2+ 3.0+ 4.7+ Mob 10+ / Mini 5 4.0+9.0+

Monday, May 21, 12

Page 154: JSConf - Mobile HTML5

motion sensors

DeviceOrientation 4.2+ 3.0+ 6.0+ (moz)4.7+ (basic)

Monday, May 21, 12

Page 155: JSConf - Mobile HTML5

motion sensors ‣ accelerometer / gyroscope / magnetometer

DeviceOrientation 4.2+ 3.0+ 6.0+ (moz)4.7+ (basic)

Monday, May 21, 12

Page 156: JSConf - Mobile HTML5

motion sensors ‣ accelerometer / gyroscope / magnetometer‣ onorientationchange

DeviceOrientation 4.2+ 3.0+ 6.0+ (moz)4.7+ (basic)

Monday, May 21, 12

Page 157: JSConf - Mobile HTML5

motion sensors ‣ accelerometer / gyroscope / magnetometer‣ onorientationchange‣ window.orientation

DeviceOrientation 4.2+ 3.0+ 6.0+ (moz)4.7+ (basic)

Monday, May 21, 12

Page 158: JSConf - Mobile HTML5

motion sensors ‣ accelerometer / gyroscope / magnetometer‣ onorientationchange‣ window.orientation‣ games, visual effects, pressure detection?

DeviceOrientation 4.2+ 3.0+ 6.0+ (moz)4.7+ (basic)

Monday, May 21, 12

Page 159: JSConf - Mobile HTML5

motion sensors ‣ accelerometer / gyroscope / magnetometer‣ onorientationchange‣ window.orientation‣ games, visual effects, pressure detection?

mobilexweb.com/samples/ball.html mobilexweb.com/samples/pressure.html

DeviceOrientation 4.2+ 3.0+ 6.0+ (moz)4.7+ (basic)

Monday, May 21, 12

Page 160: JSConf - Mobile HTML5

touch events

Touch events 3.0+ 2.1+ 6.1+ 6.0+

Monday, May 21, 12

Page 161: JSConf - Mobile HTML5

touch events ‣ iOS specification

Touch events 3.0+ 2.1+ 6.1+ 6.0+

Monday, May 21, 12

Page 162: JSConf - Mobile HTML5

touch events ‣ iOS specification‣ some differences between implementations

Touch events 3.0+ 2.1+ 6.1+ 6.0+

Monday, May 21, 12

Page 163: JSConf - Mobile HTML5

touch events ‣ iOS specification‣ some differences between implementations‣ (some) multi-touch

Touch events 3.0+ 2.1+ 6.1+ 6.0+

Monday, May 21, 12

Page 164: JSConf - Mobile HTML5

touch events ‣ iOS specification‣ some differences between implementations‣ (some) multi-touch‣ touchstart, touchmove, touchend, touchcancel

Touch events 3.0+ 2.1+ 6.1+ 6.0+

Monday, May 21, 12

Page 165: JSConf - Mobile HTML5

touch events ‣ iOS specification‣ some differences between implementations‣ (some) multi-touch‣ touchstart, touchmove, touchend, touchcancel‣ (some) touchenter, touchleave

Touch events 3.0+ 2.1+ 6.1+ 6.0+

Monday, May 21, 12

Page 166: JSConf - Mobile HTML5

css3 basic

CSS 3 1.0+ 1.0+ 6.0+ 6.0+9.0+ 10+ Anna+

Monday, May 21, 12

Page 167: JSConf - Mobile HTML5

css3 basic

‣ basic new styling

CSS 3 1.0+ 1.0+ 6.0+ 6.0+9.0+ 10+ Anna+

Monday, May 21, 12

Page 168: JSConf - Mobile HTML5

css3 basic

‣ basic new styling‣ rounded borders, opacity

CSS 3 1.0+ 1.0+ 6.0+ 6.0+9.0+ 10+ Anna+

Monday, May 21, 12

Page 169: JSConf - Mobile HTML5

css3 basic

‣ basic new styling‣ rounded borders, opacity‣ (some) still requires prefix

CSS 3 1.0+ 1.0+ 6.0+ 6.0+9.0+ 10+ Anna+

Monday, May 21, 12

Page 170: JSConf - Mobile HTML5

css3 basic

‣ basic new styling‣ rounded borders, opacity‣ (some) still requires prefix‣ -webkit, -o, -moz, -ms

CSS 3 1.0+ 1.0+ 6.0+ 6.0+9.0+ 10+ Anna+

Monday, May 21, 12

Page 171: JSConf - Mobile HTML5

server-sent events

Server-Sent events 4.1+ Mobile 11+ 6.0+

Monday, May 21, 12

Page 172: JSConf - Mobile HTML5

server-sent events

‣ EventSource

Server-Sent events 4.1+ Mobile 11+ 6.0+

Monday, May 21, 12

Page 173: JSConf - Mobile HTML5

server-sent events

‣ EventSource‣ reduce AJAX/Comet solutions

Server-Sent events 4.1+ Mobile 11+ 6.0+

Monday, May 21, 12

Page 174: JSConf - Mobile HTML5

server-sent events

‣ EventSource‣ reduce AJAX/Comet solutions‣ be careful with proxies/3g connections

Server-Sent events 4.1+ Mobile 11+ 6.0+

Monday, May 21, 12

Page 175: JSConf - Mobile HTML5

web sockets

web sockets 4.2+ Mobile 11+ 6.0+6.1+

Monday, May 21, 12

Page 176: JSConf - Mobile HTML5

web sockets‣ Evolution of bi-directional communication

web sockets 4.2+ Mobile 11+ 6.0+6.1+

Monday, May 21, 12

Page 177: JSConf - Mobile HTML5

web sockets‣ Evolution of bi-directional communication‣ reduce AJAX/Comet solutions

web sockets 4.2+ Mobile 11+ 6.0+6.1+

Monday, May 21, 12

Page 178: JSConf - Mobile HTML5

web sockets‣ Evolution of bi-directional communication‣ reduce AJAX/Comet solutions‣ be careful with proxies/3g connections

web sockets 4.2+ Mobile 11+ 6.0+6.1+

Monday, May 21, 12

Page 179: JSConf - Mobile HTML5

web sockets‣ Evolution of bi-directional communication‣ reduce AJAX/Comet solutions‣ be careful with proxies/3g connections‣ special server

web sockets 4.2+ Mobile 11+ 6.0+6.1+

Monday, May 21, 12

Page 180: JSConf - Mobile HTML5

web sockets‣ Evolution of bi-directional communication‣ reduce AJAX/Comet solutions‣ be careful with proxies/3g connections‣ special server‣ standard changed months ago

web sockets 4.2+ Mobile 11+ 6.0+6.1+

Monday, May 21, 12

Page 181: JSConf - Mobile HTML5

web workers

web workers Mobile 11+ 6.0+6.0+

Monday, May 21, 12

Page 182: JSConf - Mobile HTML5

web workers

‣ threading in JavaScript

web workers Mobile 11+ 6.0+6.0+

Monday, May 21, 12

Page 183: JSConf - Mobile HTML5

web workers

‣ threading in JavaScript‣ important for performance

web workers Mobile 11+ 6.0+6.0+

Monday, May 21, 12

Page 184: JSConf - Mobile HTML5

web workers

‣ threading in JavaScript‣ important for performance‣ worker without DOM manipulation

web workers Mobile 11+ 6.0+6.0+

Monday, May 21, 12

Page 185: JSConf - Mobile HTML5

what is just starting...?

Monday, May 21, 12

Page 186: JSConf - Mobile HTML5

apis starting to appear

Monday, May 21, 12

Page 187: JSConf - Mobile HTML5

apis starting to appear

‣ XMLHttpRequest 2 - Partially on latest versions

Monday, May 21, 12

Page 188: JSConf - Mobile HTML5

apis starting to appear

‣ XMLHttpRequest 2 - Partially on latest versions

‣ Web Workers - iOS 5, Chrome, BB 6, Meego, Opera, Firefox

Monday, May 21, 12

Page 189: JSConf - Mobile HTML5

apis starting to appear

‣ XMLHttpRequest 2 - Partially on latest versions

‣ Web Workers - iOS 5, Chrome, BB 6, Meego, Opera, Firefox

‣ Server-Sent events - iOS 4.2, Chrome, BB 6.1, Opera, FF

Monday, May 21, 12

Page 190: JSConf - Mobile HTML5

apis starting to appear

‣ XMLHttpRequest 2 - Partially on latest versions

‣ Web Workers - iOS 5, Chrome, BB 6, Meego, Opera, Firefox

‣ Server-Sent events - iOS 4.2, Chrome, BB 6.1, Opera, FF

‣ Web Sockets - Android 3.0

Monday, May 21, 12

Page 191: JSConf - Mobile HTML5

apis starting to appear

‣ XMLHttpRequest 2 - Partially on latest versions

‣ Web Workers - iOS 5, Chrome, BB 6, Meego, Opera, Firefox

‣ Server-Sent events - iOS 4.2, Chrome, BB 6.1, Opera, FF

‣ Web Sockets - Android 3.0

‣ Navigation Timing API - IE 9.0, Android 4, Chrome, FF 7

Monday, May 21, 12

Page 192: JSConf - Mobile HTML5

apis starting to appear

‣ XMLHttpRequest 2 - Partially on latest versions

‣ Web Workers - iOS 5, Chrome, BB 6, Meego, Opera, Firefox

‣ Server-Sent events - iOS 4.2, Chrome, BB 6.1, Opera, FF

‣ Web Sockets - Android 3.0

‣ Navigation Timing API - IE 9.0, Android 4, Chrome, FF 7

‣ Notifications API - Firefox 6, PlayBook 2.0

Monday, May 21, 12

Page 193: JSConf - Mobile HTML5

apis starting to appear

‣ XMLHttpRequest 2 - Partially on latest versions

‣ Web Workers - iOS 5, Chrome, BB 6, Meego, Opera, Firefox

‣ Server-Sent events - iOS 4.2, Chrome, BB 6.1, Opera, FF

‣ Web Sockets - Android 3.0

‣ Navigation Timing API - IE 9.0, Android 4, Chrome, FF 7

‣ Notifications API - Firefox 6, PlayBook 2.0

‣ IndexedDB - Firefox 6.0, Chrome

Monday, May 21, 12

Page 194: JSConf - Mobile HTML5

Monday, May 21, 12

Page 195: JSConf - Mobile HTML5

and what to expect in the future?

Monday, May 21, 12

Page 196: JSConf - Mobile HTML5

for the near future...

Monday, May 21, 12

Page 197: JSConf - Mobile HTML5

for the near future...‣ Augmented Reality on the web

Monday, May 21, 12

Page 198: JSConf - Mobile HTML5

for the near future...‣ Augmented Reality on the web‣ Camera API

Monday, May 21, 12

Page 199: JSConf - Mobile HTML5

for the near future...‣ Augmented Reality on the web‣ Camera API‣ Page Visibility API

Monday, May 21, 12

Page 200: JSConf - Mobile HTML5

for the near future...‣ Augmented Reality on the web‣ Camera API‣ Page Visibility API‣ Full Screen API

Monday, May 21, 12

Page 201: JSConf - Mobile HTML5

for the near future...‣ Augmented Reality on the web‣ Camera API‣ Page Visibility API‣ Full Screen API‣ Animation Timing API

Monday, May 21, 12

Page 202: JSConf - Mobile HTML5

for the near future...‣ Augmented Reality on the web‣ Camera API‣ Page Visibility API‣ Full Screen API‣ Animation Timing API‣ Speech detection

Monday, May 21, 12

Page 203: JSConf - Mobile HTML5

for the near future...‣ Augmented Reality on the web‣ Camera API‣ Page Visibility API‣ Full Screen API‣ Animation Timing API‣ Speech detection‣ WebNFC

Monday, May 21, 12

Page 204: JSConf - Mobile HTML5

for the near future...‣ Augmented Reality on the web‣ Camera API‣ Page Visibility API‣ Full Screen API‣ Animation Timing API‣ Speech detection‣ WebNFC‣ Native integration API

Monday, May 21, 12

Page 205: JSConf - Mobile HTML5

for the near future...‣ Augmented Reality on the web‣ Camera API‣ Page Visibility API‣ Full Screen API‣ Animation Timing API‣ Speech detection‣ WebNFC‣ Native integration API‣ Contacts and Calendar API

Monday, May 21, 12

Page 206: JSConf - Mobile HTML5

for the near future...‣ Augmented Reality on the web‣ Camera API‣ Page Visibility API‣ Full Screen API‣ Animation Timing API‣ Speech detection‣ WebNFC‣ Native integration API‣ Contacts and Calendar API‣ Messaging API

Monday, May 21, 12

Page 207: JSConf - Mobile HTML5

for the near future...‣ Augmented Reality on the web‣ Camera API‣ Page Visibility API‣ Full Screen API‣ Animation Timing API‣ Speech detection‣ WebNFC‣ Native integration API‣ Contacts and Calendar API‣ Messaging API‣ Orientation Lock

Monday, May 21, 12

Page 208: JSConf - Mobile HTML5

some last advices

Monday, May 21, 12

Page 209: JSConf - Mobile HTML5

Monday, May 21, 12

Page 210: JSConf - Mobile HTML5

performance, performance

Monday, May 21, 12

Page 211: JSConf - Mobile HTML5

good practices

Monday, May 21, 12

Page 212: JSConf - Mobile HTML5

don’t be fanatic

photo by Kurt Christensen (flickr)

Monday, May 21, 12

Page 213: JSConf - Mobile HTML5

be multiplatform

Monday, May 21, 12

Page 214: JSConf - Mobile HTML5

be

futurefriend.ly

Monday, May 21, 12

Page 215: JSConf - Mobile HTML5

you can reach a good experience

Pictures)from)freedigitalphotos.net)

thank you!firt.mobi

[email protected]: @firt

www.mobilexweb.com

50% books20% trainingsJust Ask me!

Monday, May 21, 12