The document discusses HTML5, Canvas, SVG, Video, Audio, and Web Storage technologies that can be used to build high quality web and hybrid mobile applications. It provides code examples and demos for drawing shapes, images, and text on Canvas, creating simple SVG graphics, playing video and audio, and using local storage. It also introduces the Titanium framework for building native mobile apps using web technologies.
3. Worker
Microdata
Video ARIA CSS3
Drag Drop Javascript
Audio
SVG Canvas
New Form WebSocket Geolocation
Web Storage Semantic
MathML WebGL Offline Application
Files
Device Element
4. CANVAS
Drawing shapes
Filling colours
Creating gradients patterns
Rendering text
Copying images, video frames, and more
Manipulating pixels
Exporting the contents of a canvas
to a static file
13. Scalable Vector Graphics - SVG
2001 W3C recommendation
XML based Markup Language
Scalable 2D Graphics
CSS, line, shape, group, text and more
Animation
Access SVG DOM
Event handling in SVG Applications
SVG in text/html
19. Hello World! #1
body
svg width=400 height=300
text x=100 y=100Hello World!/text
/svg
/body
20. Hello World! #2
body
svg width=400 height=300
text x=100 y=100
font-size=”50px”
fill=”rgba(0,0,255,1)”
stroke=”red”Hello World!/text
/svg
/body
21.
22. VIDEO
Native video tag
Video API
H.264, WebM, Ogg
CSS Styling
23. Video - the old way
object classid=clsid:... width=425 height=344
codebase=http://www/pub/shockwave/cabs/flash/swflash.cab
param name=allowFullScreen value=true /
param name=allowscriptaccess value=always /
param name=src value=http://www.youtube.com/ /
param name=allowfullscreen value=true /
embed type=application/x-shockwave-flash
width=425 height=344 src=http://www.youtube.com
allowscriptaccess=always allowfullscreen=true
/embed
/object
24. Video - the HTML5 way
video width=640 height=360 src=http://www.youtube.com
controls autobuffer
p Try this page in Safari 4! Or you can
a href=http://www.youtube.com
download the video
/a
instead.
/p
/video
25. Video - API
var v1 = getElementById(“video1”);
v1.play();
v1.pause();
v1.muted = true;
v1.volume = 0.5;
v.addEventListener('play', function() {
drawImage(this, context, ...);
}, false);