View
39.900
Download
0
Embed Size (px)
DESCRIPTION
Bruce Lawson gave this talk at FOWA London 2009 (http://bit.ly/fowa-london-09).The HTML 5 spec was originally called "Web Applications 1.0". Most of the attention has been on the new markup elements, but we'll look further at the applications side of the spec:1. Dynamic images and graphs with canvas2. Eliminating much forms validation with webforms 2.03. Local storage automagically saving your data4. Geolocation5. Building toolbars and menus.
Citation preview
Th e b e s t In te rn e t e xp e rie n c e o n a n y d e v ic e
Opera Software The best browsing experience on any device
www.brucelawson.co.ukwww.html5doctor.com
twitter.com/brucel
HTML5
The Future Of Web Applications
Evolution of HTML: monkey on left becomes human in 4 stages
Evolution of HTML: 5 th monkey (HTML5) is human but dressed
in pimp clothing
Web Applications 1.0
“extending the language to better support Web
applications, since that is one of the directions the Web
is going in and is one of the areas least well served by
HTML so far.
This puts HTML in direct competition with other
technologies intended for applications deployed over the
Web, in particular Flash and Silverlight.”
Picture of 1900 idea of automated year 2000 Ladies'
bedroom
Canvas
Immediate graphics mode without plugins
Demos:● Twitter experiment/ eye-candy● First person shooter● First person gifter
Native support in Opera, Safari, Firefox and Chrome.
What about Internet Explorer?
Canvas explorer: excanvas.sourceforge.net
what about accessibility?
<canvas> = <img> - alt
● <canvas> is just about pixels manipulated by script● No DOM● No “alt text”: <canvas>Fallback content</canvas>
● Link to accessible version must be outside <canvas> ● Demo jQuery plugin to visualise data tables (filament)
•
<canvas> or SVG?
● Scalable Vector Graphics remains text● SVG for content; canvas for bling/ supplementary
● SVG natively supported in Opera, Firefox, Safari, Chrome● IE? Raphael js http://raphaeljs.com/, SVG Web (alpha)
HTML5 forms (“Web Forms 2”)
● Coding form validation is not much fun● HTML5 forms add validation to the browser● Live code demo● Let's look at more
What about legacy browsers?●
www.modernizr.com
● Or do your own capability checking before falling back your current JS validation.Or just leave it to the server-side validation
Browser storage
Cookies are pretty clunky, especially large-scale storage.
● Local storage and session storage (Firefox, Chrome, Safari) ● Database in the browser! (Safari)● Off line apps using manifest (Safari)
Building application toolbars <menu type="toolbar"> <command onclick="insertTag(buttons,0);" label="strong" icon="bold.gif">
<command onclick="insertTag(buttons,1);" label="em" icon="italic.gif">
<command onclick="insertLink(buttons,2);" label="link" icon="link.gif">
</menu>
... and if I had an hour or 3 ...
● Drag and drop ● Cross-window messaging● Cross-domain messaging● Web workers ● (demos: www.html5demos.com)● Video (people.opera.com/brucel/demo/video-demos.html)
Thank you!
[email protected], http://dev.opera.com
www.brucelawson.co.uk, twitter.com/brucel
www.html5doctor.com