Your SlideShare is downloading. ×
0
Schöne neue Welt von HTML5
NEUE TECHNOLOGIEN IM KONTEXT




Patrick H. Lauke / WebTech 2010 / Mainz / 12 Oktober 2010
Web Evangelist bei Opera
...ist HTML5 heute schon nutzbar?
"there is already a lot of excitement for HTML5,
but it’s a little too early to deploy it because
we’re running into inter...
http://www.flickr.com/photos/24374884@N08/4603715307/
HTML5…ohne Hype?
Geschichte von HTML5

1999 HTML 4.01
2000 XHTML 1.0
2004 W3C Fokus auf XHTML 2.0
    …die Zukunft ist XML!

      http://www.flickr.com/photos/craiga/17071467/
WHATWG
Web Hypertext Application Technology Working Group
2007 W3C HTML5 WG
“...extending the language to better support
Web applications [...] This puts HTML in
direct competition with other
techno...
HTML5 ersetzt nicht HTML 4.01
HTML5 hat mehr Bling!
HTML5 Spezifikation für
          Browserhersteller
(wie interpretieren Browser Markup/Code – kein “reverse engineering”)
...
1. Syntax/Semantik
2. Formulare
3. Multimedia
1. Syntax/Semantik
2. Formulare
3. Multimedia
HTML5 standardisiert
derzeitiges Browserverhalten
       (e.g. “relaxed” coding rules)
das schmutzige Geheimniss der
         Doctype
HTML5
<!DOCTYPE html>
<meta charset=”utf-8” />

<meta charset=utf-8>

<MeTa CHarSet=utf-8>
<style type=”text/css”>
</style>

<script type=”text/javascript”>
</script>
<style type=”text/css”>
</style>

<script type=”text/javascript”>
</script>
<!doctype html>
<title>Minimales HTML5</title>
neue Elemente für bessere Semantik
Top 20 class names
   1. footer                                          11. button
   2. menu                            ...
Top 20 id names
    1. footer                                          11. search
   2. content                           ...
explizit und maschinenlesbar
   ...z.B. Screenreaders?
neue und alte Browser “unterstützen” die Elemente
(obwohl einige etwas Hilfe brauchen)

header, footer, … { display: block...
Internet Explorer <9 braucht Stützräder
document.createElement('header');
document.createElement('footer');
…

http://html...
1. Syntax/Semantik
2. Formulare
3. Multimedia
bessere Formelemente
  weil das Web interaktiver ist
rich form elements – ganz ohne JavaScript
<input   type=”date”>
<input   type=”time”>
<input   type=”month”>
<input   type...
Typen und Attribute mit
eingebauter Validierung
<input   … required>
<input   type=”tel”>
<input   type=”email”>
<input   ...
1. Syntax/Semantik
2. Formulare
3. Multimedia
making your site Fonzie compliant...
<video>
Adobe Flash derzeit meistbenutztes Art,
        Videos zu übermitteln
<object width="425" height="344">
  <param name="movie"
value="http://www.youtube.com/v/9sEI1AUFJKw&hl=en
&fs=1&"></param>...
<video src="video.webm"
  controls
  autoplay
  loop
  preload
  poster="poster.jpg"
  width="320" height="240">
    <a hr...
Video als natives object
●
  verhält sich wie jedes andere HTML Element
●
  keyboard accessibility von Haus aus
mächtige (einfache) API
icant.co.uk/easy-youtube
<video> per JavaScript ansteuern
var v = document.getElementById('player');

v.play();
v.pause();
v.volume = … ;
v.current...
events vom <video> abfangen
var v = document.getElementById('player');

v.addEventListener('loadeddata', function() { … },...
Video Formate
  die grosse Debatte
MP4 / H.264




weitverbreitet, Lizenzen/Royalties
Ogg Theora




“free and open”, keine Lizengebühren
wenige Tools, nicht für's Web optimiert
WebM




   von Google, aber “open and royalty-free”
                Web-optimiert
Support von Software- und Hardware-Hers...
Video mit multiple sources
<video controls autoplay poster="…" width="…" height="…">
   <source src="movie.webm" type="vid...
Flash fallback für ältere browsers
 http://camendesign.com/code/video_for_everybody
<video controls autoplay poster="…" width="…" height="…">
   <source src="movie.webm" type="video/webm" />
   <source src=...
<audio>
Audio...genau das gleiche
<audio src=”music.mp3” controls autoplay … ></audio>

<audio controls autoplay>
   <source src="...
<canvas>
canvas = “scriptable images”
<canvas width="…" height="…"></canvas>
canvas has standard API methods for drawing
ctx = canvas.getContext("2d");
ctx.fillRect(x, y, width, height);
ctx.beginPat...
canvas Accessibility?
video, audio und canvas auch auf Devices
       ohne “Steck-eins” (plugins)
          (nicht jeder hat Java / Flash / Silv...
HTML5 (und Freunde) hat
viele APIs für Developer
     (für mächtige client-side Apps)
isgeolocationpartofhtml5.com
geolocation
navigator.geolocation.getCurrentPosition(success, error);
navigator.geolocation.watchCurrentPosition(success, ...
offline detection...
window.addEventListener('online', function(){ … }, true);
window.addEventListener('offline', function...
is it all safe to use, right now?
vorsicht: browser sniffing



       http://www.flickr.com/photos/timdorr/2096272747/
feature-detection
progressive enhancement, graceful degradation – or use shims
                    http://diveintohtml5.or...
alten Browser patchen
github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills
sublimevideo.net
videojs.com
www.happyworm.com/jquery/jplayer
HTML5 als Flashkiller?
nicht die Frage ob
HTML5 als Ersatz für Flash gut ist...
giving developers a choice!
...ist HTML5 heute schon nutzbar?
Die Zukunft hat schon Heute begonnen!
www.opera.com/developer
people.opera.com/patrickl/presentations/webtech_12.10.2010/webtech_12.10.2010.pdf
                ...
Schöne neue Welt von HTML5 - WebTech 2010 Mainz 12.10.2010
Schöne neue Welt von HTML5 - WebTech 2010 Mainz 12.10.2010
Schöne neue Welt von HTML5 - WebTech 2010 Mainz 12.10.2010
Schöne neue Welt von HTML5 - WebTech 2010 Mainz 12.10.2010
Schöne neue Welt von HTML5 - WebTech 2010 Mainz 12.10.2010
Schöne neue Welt von HTML5 - WebTech 2010 Mainz 12.10.2010
Schöne neue Welt von HTML5 - WebTech 2010 Mainz 12.10.2010
Schöne neue Welt von HTML5 - WebTech 2010 Mainz 12.10.2010
Upcoming SlideShare
Loading in...5
×

Schöne neue Welt von HTML5 - WebTech 2010 Mainz 12.10.2010

3,531

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,531
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Schöne neue Welt von HTML5 - WebTech 2010 Mainz 12.10.2010"

  1. 1. Schöne neue Welt von HTML5 NEUE TECHNOLOGIEN IM KONTEXT Patrick H. Lauke / WebTech 2010 / Mainz / 12 Oktober 2010
  2. 2. Web Evangelist bei Opera
  3. 3. ...ist HTML5 heute schon nutzbar?
  4. 4. "there is already a lot of excitement for HTML5, but it’s a little too early to deploy it because we’re running into interoperability issues." Philippe Le Hegaret, W3C interaction domain leader blogs.techrepublic.com.com/hiner/?p=6369
  5. 5. http://www.flickr.com/photos/24374884@N08/4603715307/
  6. 6. HTML5…ohne Hype?
  7. 7. Geschichte von HTML5 1999 HTML 4.01 2000 XHTML 1.0
  8. 8. 2004 W3C Fokus auf XHTML 2.0 …die Zukunft ist XML! http://www.flickr.com/photos/craiga/17071467/
  9. 9. WHATWG Web Hypertext Application Technology Working Group
  10. 10. 2007 W3C HTML5 WG
  11. 11. “...extending the language to better support Web applications [...] This puts HTML in direct competition with other technologies[...] , in particular Flash and Silverlight.” Ian Hickson, Editor of HTML5 http://lists.w3.org/Archives/Public/public-html/2009Jan/0215.html
  12. 12. HTML5 ersetzt nicht HTML 4.01
  13. 13. HTML5 hat mehr Bling!
  14. 14. HTML5 Spezifikation für Browserhersteller (wie interpretieren Browser Markup/Code – kein “reverse engineering”) für Autoren: HTML5 differences from HTML4 http://www.w3.org/TR/html5-diff/
  15. 15. 1. Syntax/Semantik 2. Formulare 3. Multimedia
  16. 16. 1. Syntax/Semantik 2. Formulare 3. Multimedia
  17. 17. HTML5 standardisiert derzeitiges Browserverhalten (e.g. “relaxed” coding rules)
  18. 18. das schmutzige Geheimniss der Doctype
  19. 19. HTML5 <!DOCTYPE html>
  20. 20. <meta charset=”utf-8” /> <meta charset=utf-8> <MeTa CHarSet=utf-8>
  21. 21. <style type=”text/css”> </style> <script type=”text/javascript”> </script>
  22. 22. <style type=”text/css”> </style> <script type=”text/javascript”> </script>
  23. 23. <!doctype html> <title>Minimales HTML5</title>
  24. 24. neue Elemente für bessere Semantik
  25. 25. Top 20 class names 1. footer 11. button 2. menu 12. main 3. style1 13. style3 4. msonormal 14. small 5. text 15. nav 6. content 16. clear 7. title 17. search 8. style2 18. style4 9. header 19. logo 10. copyright 20. body http://devfiles.myopera.com/articles/572/classlist-url.htm
  26. 26. Top 20 id names 1. footer 11. search 2. content 12. nav 3. header 13. wrapper 4. logo 14. top 5. container 15. table2 6. main 16. layer2 7. table1 17. sidebar 8. menu 18. image1 9. layer1 19. banner 10. autonumber1 20. navigation http://devfiles.myopera.com/articles/572/idlist-url.htm
  27. 27. explizit und maschinenlesbar ...z.B. Screenreaders?
  28. 28. neue und alte Browser “unterstützen” die Elemente (obwohl einige etwas Hilfe brauchen) header, footer, … { display: block; }
  29. 29. Internet Explorer <9 braucht Stützräder document.createElement('header'); document.createElement('footer'); … http://html5doctor.com/how-to-get-html5-working-in-ie-and-firefox-2
  30. 30. 1. Syntax/Semantik 2. Formulare 3. Multimedia
  31. 31. bessere Formelemente weil das Web interaktiver ist
  32. 32. rich form elements – ganz ohne JavaScript <input type=”date”> <input type=”time”> <input type=”month”> <input type=”week”> <input type=”datetime” … > <input type=”range”> <input type=”number”> <input type=”file” multiple> <input … autofocus> <input … autocomplete>
  33. 33. Typen und Attribute mit eingebauter Validierung <input … required> <input type=”tel”> <input type=”email”> <input type=”url”> <input … pattern="[a-z]{3}[0-9]{3}">
  34. 34. 1. Syntax/Semantik 2. Formulare 3. Multimedia
  35. 35. making your site Fonzie compliant...
  36. 36. <video>
  37. 37. Adobe Flash derzeit meistbenutztes Art, Videos zu übermitteln
  38. 38. <object width="425" height="344"> <param name="movie" value="http://www.youtube.com/v/9sEI1AUFJKw&hl=en &fs=1&"></param> <param name="allowFullScreen" value="true"></param> <param name="allowscriptaccess" value="always"></param> <embed src="http://www.youtube.com/v/9sEI1AUFJKw&hl=en&f s=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed> </object>
  39. 39. <video src="video.webm" controls autoplay loop preload poster="poster.jpg" width="320" height="240"> <a href="video.webm">Download movie</a> </video>
  40. 40. Video als natives object ● verhält sich wie jedes andere HTML Element ● keyboard accessibility von Haus aus
  41. 41. mächtige (einfache) API
  42. 42. icant.co.uk/easy-youtube
  43. 43. <video> per JavaScript ansteuern var v = document.getElementById('player'); v.play(); v.pause(); v.volume = … ; v.currentTime = … ; …
  44. 44. events vom <video> abfangen var v = document.getElementById('player'); v.addEventListener('loadeddata', function() { … }, true) v.addEventListener('play', function() { … }, true) v.addEventListener('pause', function() { … }, true) v.addEventListener('timeupdate', function() { … }, true) v.addEventListener('ended', function() { … }, true) …
  45. 45. Video Formate die grosse Debatte
  46. 46. MP4 / H.264 weitverbreitet, Lizenzen/Royalties
  47. 47. Ogg Theora “free and open”, keine Lizengebühren wenige Tools, nicht für's Web optimiert
  48. 48. WebM von Google, aber “open and royalty-free” Web-optimiert Support von Software- und Hardware-Herstellern
  49. 49. Video mit multiple sources <video controls autoplay poster="…" width="…" height="…"> <source src="movie.webm" type="video/webm" /> <source src="movie.mp4" type="video/mp4" /> <!-- fallback content --> </video>
  50. 50. Flash fallback für ältere browsers http://camendesign.com/code/video_for_everybody
  51. 51. <video controls autoplay poster="…" width="…" height="…"> <source src="movie.webm" type="video/webm" /> <source src="movie.mp4" type="video/mp4" /> <object width="…" height="…" type="application/x- shockwave-flash" data="player.swf"> <param name="movie" value="player.swf" /> <param name="flashvars" value=" … file=movie.mp4" /> <!-- fallback content --> </object> </video>
  52. 52. <audio>
  53. 53. Audio...genau das gleiche <audio src=”music.mp3” controls autoplay … ></audio> <audio controls autoplay> <source src="music.mp3" type="audio/mpeg" /> <source src="music.oga" type="audio/ogg" /> <!-- fallback content --> </audio> Formate: MP3 vs Ogg Vorbis (vs WAV)
  54. 54. <canvas>
  55. 55. canvas = “scriptable images” <canvas width="…" height="…"></canvas>
  56. 56. canvas has standard API methods for drawing ctx = canvas.getContext("2d"); ctx.fillRect(x, y, width, height); ctx.beginPath(); ctx.moveTo(x, y); ctx.lineTo(x, y); ctx.bezierCurveTo(x1, y1, x2, y2, c1, c2); ctx.drawImage(…);
  57. 57. canvas Accessibility?
  58. 58. video, audio und canvas auch auf Devices ohne “Steck-eins” (plugins) (nicht jeder hat Java / Flash / Silverlight)
  59. 59. HTML5 (und Freunde) hat viele APIs für Developer (für mächtige client-side Apps)
  60. 60. isgeolocationpartofhtml5.com
  61. 61. geolocation navigator.geolocation.getCurrentPosition(success, error); navigator.geolocation.watchCurrentPosition(success, error); function success(position) { /* where's Wally? */ var lat = position.coords.latitude; var long = position.coords.longitude; ... }
  62. 62. offline detection... window.addEventListener('online', function(){ … }, true); window.addEventListener('offline', function(){ … }, true); und application cache <html manifest=”blah.manifest”> CACHE MANIFEST # send this with correct text/cache-manifest MIME images/sprites.png scripts/common.js scripts/jquery.js styles/global.css data.xml und noch viele mehr...
  63. 63. is it all safe to use, right now?
  64. 64. vorsicht: browser sniffing http://www.flickr.com/photos/timdorr/2096272747/
  65. 65. feature-detection progressive enhancement, graceful degradation – or use shims http://diveintohtml5.org/everything.html
  66. 66. alten Browser patchen github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills
  67. 67. sublimevideo.net
  68. 68. videojs.com
  69. 69. www.happyworm.com/jquery/jplayer
  70. 70. HTML5 als Flashkiller?
  71. 71. nicht die Frage ob HTML5 als Ersatz für Flash gut ist...
  72. 72. giving developers a choice!
  73. 73. ...ist HTML5 heute schon nutzbar?
  74. 74. Die Zukunft hat schon Heute begonnen!
  75. 75. www.opera.com/developer people.opera.com/patrickl/presentations/webtech_12.10.2010/webtech_12.10.2010.pdf patrick.lauke@opera.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×