HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday,...

35
HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010

Transcript of HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday,...

Page 1: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

HTML5 & Javascript

by Mike Taylor@miketaylr

1

Saturday, February 20, 2010

Page 2: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

2

HTML5

Saturday, February 20, 2010

Page 3: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

3

• Canvas 2D Context

•Microdata (& vocabularies)

• Cross-document messaging

• Channel messaging

• Forms

•Web Workers

•Web Storage

•Web Sockets (API & protocol)

• Server-side events

• Geolocation API

• SVG, MathML, XHR2

HTML5 “HTML5”

Saturday, February 20, 2010

Page 4: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

4

HTML5

Saturday, February 20, 2010

Page 5: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

5

Saturday, February 20, 2010

Page 6: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

5

http://bit.ly/webapps-complete

Webapps‽

Saturday, February 20, 2010

Page 7: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

6

Saturday, February 20, 2010

Page 8: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

7

• Constraint validation API

• Canvas 2dContext API

• localStorage API

• Geolocation API

• Life-changing demo™

OUTLINE

Saturday, February 20, 2010

Page 9: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

8

CONSTRAINT VALIDATION

Saturday, February 20, 2010

Page 10: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

9

CONSTRAINT VALIDATION API

el.willValidate

el.setCustomValidity(msg)

el.checkValidity()

el.validationMessage

Saturday, February 20, 2010

Page 11: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

10

CONSTRAINT VALIDATION APIel.validity.valueMissing required

el.validity.typeMismatch type

el.validity.patternMismatch pattern

el.validity.tooLong maxlength

el.validity.rangeUnderflow min

el.validity.rangeOverflow max

el.validity.stepMismatch step

el.validity.customError N/A

el.validity.valid N/A

Saturday, February 20, 2010

Page 12: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

11

Saturday, February 20, 2010

Page 13: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

12

http://miketaylr.com/pres/ncjs/

(http://bit.ly/ncjs-mt)

Demos!

Saturday, February 20, 2010

Page 14: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

13

Example 1.1 Type validation

Saturday, February 20, 2010

Page 15: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

14

Example 1.2 Pattern validation

Saturday, February 20, 2010

Page 16: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

15

<CANVAS>

Saturday, February 20, 2010

Page 17: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

16

Saturday, February 20, 2010

Page 18: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

17

Saturday, February 20, 2010

Page 19: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

18

Saturday, February 20, 2010

Page 20: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

19

Saturday, February 20, 2010

Page 21: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

20

CANVAS 2D CONTEXT APITransformations

Compositing

Colors and styles

Line styles

Shadows

Simple shapes (rectangles)

Complex shapes (paths)

Focus management

Text

Images

Pixel manipulation

Saturday, February 20, 2010

Page 22: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

20

CANVAS 2D CONTEXT APITransformations

Compositing

Colors and styles

Line styles

Shadows

Simple shapes (rectangles)

Complex shapes (paths)

Focus management

Text

Images

Pixel manipulation

☞☞☞☞

☞☞

Saturday, February 20, 2010

Page 23: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

21

Example 2.1 Canvas Pathsvar

Saturday, February 20, 2010

Page 24: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

22

Example 2.2 Canvas Rectangle

var

Saturday, February 20, 2010

Page 25: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

23

c

Example 2.4 Canvas image

var

Saturday, February 20, 2010

Page 26: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

24

c

Example 2.5 Canvas text

var

Saturday, February 20, 2010

Page 27: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

25

c

Example 2.6 Canvas shadow

var

Saturday, February 20, 2010

Page 28: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

26

GEOLOCATION

Saturday, February 20, 2010

Page 29: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

27

GEOLOCATION API

getCurrentPosition(success, error, options)

watchPosition(success, error, options)

options: enableHighAccuracy, timeout maximumAge

Saturday, February 20, 2010

Page 30: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

28

GEOLOCATION API

position.coords.latituteposition.coords.longitudeposition.coords.altitudeposition.coords.accuracyposition.coords.altituteAccuracyposition.coords.headingposition.coords.speed

Saturday, February 20, 2010

Page 31: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

29

c

Example 3 Geolocation

Saturday, February 20, 2010

Page 32: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

30

Saturday, February 20, 2010

Page 33: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

31

Putting it all together*

*um, kinda.

Saturday, February 20, 2010

Page 34: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

32

http://miketaylr.com/pres/ncjs/app/

Demo!

Saturday, February 20, 2010

Page 35: HTML5 & Javascript - Mike Taylor · HTML5 & Javascript by Mike Taylor @miketaylr 1 Saturday, February 20, 2010. 2 ... • Geolocation API • SVG, MathML, XHR2 HTML5 “HTML5” ...

33

Thanks!

Saturday, February 20, 2010