SlideShare une entreprise Scribd logo
1  sur  22
HTML 5 e browser legacy


Marco Assandri
info@sinergiatotale.it
2022  2014 Q2
• Perché parlare di HTML5 se sarà
  definitivo solo nel 2014?
• Devo cambiare il modo di scrivere
  HTML?
• Come è la compatibilità con i vecchi
  browser (IE6 per esempio)?
• Che sistemi di fallback posso usare
  oggi?
Cosa riunisce HTML5?
Semantica
Offline e gestione dei dati
Accesso al dispositivo
Connettività
Multimedia
3D, grafica e effetti
Prestazioni e integrazione
CSS3 e stili
Semantica
• Nuovi tag
  <header>, <article>, <nav>, <footer>, <aside>, <section>,
  <figure>, …
• Tag eliminati
  <frame>, <frameset>, <big>, <center>, <font>, <strike>
• Molte differenze sintattiche rispetto a
  XHTML 1.1
  http://www.w3.org/TR/html5-diff/#absent-attributes
• Attributi globali
  contenteditable, data, …
• DEMO
Semantica e browser legacy
• I nuovi tag non vengono riconosciuti da
  IE6-8.
    http://www.html.it/guide/esempi/html5/tabella_supporto/tabella.html
    http://fmbip.com/#target-selector
•   http://www.texaswebdevelopers.com/html5/#agents=All&eras=All&ca
    ts=All&alts=j&statuses=rec,pr,cr,wd,ietf


• Vale ancora la pena di considerare i
  browser legacy?
theie6countdown.com
IE6-8
• Tenendo in considerazione anche IE7 e
  8 oltre arriviamo al 50%.
• Dipende molto dalla nazione.
• O possiamo decidere il browser
  oppure sono necessari sistemi di
  fallback!!!
• DEMO
Modernizr
• Permette il riconoscimento delle
  funzionalità del browser
• Aggiunge classi al tag <html>
• Aggiunge supporto per elementi
  HTML5
• Non aggiunge le funzionalità mancanti,
  ma ne indica solo il supporto.
• Incluso nei ASP.NET MVC 3 Tools
Modernizr
• DEMO
Esempi di fallback grafici
•   Angoli arrotondati
•   Ombre
•   Gradienti
•   RGBA - Opacità
•   Trasparenza PNG
•   Background multipli
•   Font
    http://www.fontsquirrel.com/fontface

• DEMO
Multimedia e fallback
• Tag <video> e <audio>
• I formati video e audio supportati
  dipendono dai browser
 http://camendesign.com/code/video_for_everybody/test.html

• I player sono diversi
• Possibilità di fallback con Silverlight o
  Flash
• DEMO
Fallback <video>
• Video for everybody
• Video.js
• Mediaelement.js (fa anche audio e
  supporta fallback su Silverlight)
• DEMO
<video>
<audio>
Fallback <audio>
• Jplayer http://www.jplayer.org/ (fa anche
  video)
  Supporta fallback flash
  HTML5: mp3, m4a (AAC), m4v (H.264),
  ogv*, oga*, wav*, webm*
  Flash: mp3, m4a (AAC), m4v (H.264)
  Skinnabile
  Playlist supportate
• Audio.js – solo mp3
• Mediaelement.js
• DEMO
Canvas
• Serve per creare grafica di tipo bitmap
• Bisogna usare javascript per disegnare
• Elemento <canvas> e <canvas-text>
• Fallback con:
  FlashCanvas (http://flashcanvas.net/)
  explorercanvas (http://code.google.com/p/explorercanvas/)
  canvas-text (http://code.google.com/p/canvas-text/)
• DEMO
Grafica vettoriale
• SVG
 Fallback con SVG Web http://code.google.com/p/svgweb/

• MathML
 Fallback con Mathjax http://www.mathjax.org/



• DEMO SVG Web
Geolocalizzazione
• Permette di localizzare la posizione
  dell’utente.
• Richiede il permesso dell’utente
• Fallback con Google API loader,
  http://freegeoip.net o altri servizi di
  localizzazione in base all’ip.
• Webshims Lib
• DEMO
Local storage e session storage
• Session storage  permette di salvare dati
  differenziati tra sessioni(tab diversi)
• Local storage  maggiore spazio rispetto ai
  cookie (almeno 5 mega) e persistenza. Non
  passa al server.
• Fallback sui cookies o su local storage di
  plugin (Silverlight, flash, …)
• Non sono condivisi tra diversi browser, ma
  scatenano eventi intercettabili da altri tab.
• Per oggetti è necessario JSON.parse e JSON.
  stringify
• DEMO
Microformats
Recipe
<span class="hrecipe">
  <span class="fn">Tisana alla liquirizia</span>
  <span class="ingredient">2 cucchiai di Zucchero</span>
  <span class="ingredient">20g Radice di liquirizia</span>
  <span class="yield">2</span>
  <span class="instructions">
    Scaldare un pentolino con 200cl d’acqua fino a 95°C;
    versare la radice di liquirizia;
    lasciar macerare per 7 minuti;
    zuccherare e servire.
  </span>
  <span class="duration">
    <span class="value-title" title="PT90M"></span> 90 min
  </span>
</span>

rel=nofollow
Hcard
Hreview
Nascono per risolvere l’incapacità di descrivere il significato delle informazioni di una
pagina web in un formato interpretabile da altri software. Lista su http://microformats.org/
HTML 5 Cross Browser Polyfills
• Web Workers, Offline web applications
  e altre feature non definitive hanno
  fallback.
• Lista abbastanza completa
https://github.com/Modernizr/Modernizr/
wiki/HTML5-Cross-browser-Polyfills
HTML 5 e browser legacy

Contenu connexe

En vedette

MJTobin Resume 2015
MJTobin Resume 2015MJTobin Resume 2015
MJTobin Resume 2015Maryjo Tobin
 
Windows App Studio: da zero allo store in 60 minuti!
Windows App Studio: da zero allo store in 60 minuti!Windows App Studio: da zero allo store in 60 minuti!
Windows App Studio: da zero allo store in 60 minuti!Massimo Bonanni
 
Initializr - come iniziare
Initializr - come iniziareInitializr - come iniziare
Initializr - come iniziareSalvatore Paone
 
Windows Hello e Intel(r) RealSense(tm): attenti a questi due!!
Windows Hello e Intel(r) RealSense(tm): attenti a questi due!!Windows Hello e Intel(r) RealSense(tm): attenti a questi due!!
Windows Hello e Intel(r) RealSense(tm): attenti a questi due!!Massimo Bonanni
 
Applicazioni Windows Store con Kinect 2
Applicazioni Windows Store con Kinect 2 Applicazioni Windows Store con Kinect 2
Applicazioni Windows Store con Kinect 2 Massimo Bonanni
 
HTMLslide html
HTMLslide htmlHTMLslide html
HTMLslide htmlritalerede
 
HTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerHTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesignerHTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesignerMatteo Magni
 
Introduzione allo sviluppo UWP per xBox
Introduzione allo sviluppo UWP per xBoxIntroduzione allo sviluppo UWP per xBox
Introduzione allo sviluppo UWP per xBoxMassimo Bonanni
 
Guida introduttiva al css
Guida introduttiva al cssGuida introduttiva al css
Guida introduttiva al cssEnrico Mainero
 
Introduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiorestJump
 
Struttura di una pagina html
Struttura di una pagina htmlStruttura di una pagina html
Struttura di una pagina htmlEnrico Mainero
 
HTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesignerHTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesignerMatteo Magni
 
Html5 appunti.0
Html5   appunti.0Html5   appunti.0
Html5 appunti.0orestJump
 

En vedette (20)

MJTobin Resume 2015
MJTobin Resume 2015MJTobin Resume 2015
MJTobin Resume 2015
 
Domino e HTML5, #dd13
Domino e HTML5, #dd13Domino e HTML5, #dd13
Domino e HTML5, #dd13
 
HTMLslide
HTMLslide HTMLslide
HTMLslide
 
Windows App Studio: da zero allo store in 60 minuti!
Windows App Studio: da zero allo store in 60 minuti!Windows App Studio: da zero allo store in 60 minuti!
Windows App Studio: da zero allo store in 60 minuti!
 
Initializr - come iniziare
Initializr - come iniziareInitializr - come iniziare
Initializr - come iniziare
 
Windows Hello e Intel(r) RealSense(tm): attenti a questi due!!
Windows Hello e Intel(r) RealSense(tm): attenti a questi due!!Windows Hello e Intel(r) RealSense(tm): attenti a questi due!!
Windows Hello e Intel(r) RealSense(tm): attenti a questi due!!
 
Applicazioni Windows Store con Kinect 2
Applicazioni Windows Store con Kinect 2 Applicazioni Windows Store con Kinect 2
Applicazioni Windows Store con Kinect 2
 
HTMLslide html
HTMLslide htmlHTMLslide html
HTMLslide html
 
Corso di HTML5 e CSS
Corso di HTML5 e CSSCorso di HTML5 e CSS
Corso di HTML5 e CSS
 
Html5
Html5Html5
Html5
 
HTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerHTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesigner
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesignerHTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner
 
Introduzione allo sviluppo UWP per xBox
Introduzione allo sviluppo UWP per xBoxIntroduzione allo sviluppo UWP per xBox
Introduzione allo sviluppo UWP per xBox
 
Guida introduttiva al css
Guida introduttiva al cssGuida introduttiva al css
Guida introduttiva al css
 
Php mysql3
Php mysql3Php mysql3
Php mysql3
 
HTML - Primi Passi
HTML - Primi PassiHTML - Primi Passi
HTML - Primi Passi
 
Introduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi Operativi
 
Struttura di una pagina html
Struttura di una pagina htmlStruttura di una pagina html
Struttura di una pagina html
 
HTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesignerHTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesigner
 
Html5 appunti.0
Html5   appunti.0Html5   appunti.0
Html5 appunti.0
 

Similaire à HTML 5 e browser legacy

Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Pietro Polsinelli
 
Come sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTMLCome sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTMLSinergia Totale
 
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeomarcocasario
 
Antica presentazione AJAX
Antica presentazione AJAXAntica presentazione AJAX
Antica presentazione AJAXTommaso Torti
 
Win05 accesso ai dati in win 8
Win05   accesso ai dati in win 8Win05   accesso ai dati in win 8
Win05 accesso ai dati in win 8DotNetCampus
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Andrea Dottor
 
WordPress, migrazioni e re-branding: don't try this at home. #wmf15
WordPress, migrazioni e re-branding: don't try this at home. #wmf15WordPress, migrazioni e re-branding: don't try this at home. #wmf15
WordPress, migrazioni e re-branding: don't try this at home. #wmf15Andrea Cardinali
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS DevicesAndrea Picchi
 
SMAU 2010 - Scenari futuri del Video-on-the-Web: selezione o coabitazione dei...
SMAU 2010 - Scenari futuri del Video-on-the-Web: selezione o coabitazione dei...SMAU 2010 - Scenari futuri del Video-on-the-Web: selezione o coabitazione dei...
SMAU 2010 - Scenari futuri del Video-on-the-Web: selezione o coabitazione dei...Roberto Ellero
 
Session isolation e rendering delle pagine web
Session isolation e rendering delle pagine webSession isolation e rendering delle pagine web
Session isolation e rendering delle pagine webGiacomo Zecchini
 
Introduzione alla localizzazione web
Introduzione alla localizzazione webIntroduzione alla localizzazione web
Introduzione alla localizzazione webQabiria
 
Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Alessandro del Gobbo
 

Similaire à HTML 5 e browser legacy (20)

Html5
Html5Html5
Html5
 
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5
 
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
 
Grasso Frameworks Ajax
Grasso Frameworks AjaxGrasso Frameworks Ajax
Grasso Frameworks Ajax
 
Come sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTMLCome sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTML
 
Web 2.0 sviluppare e ottimizzare oggi
Web 2.0 sviluppare e ottimizzare oggiWeb 2.0 sviluppare e ottimizzare oggi
Web 2.0 sviluppare e ottimizzare oggi
 
Mobile UI Design
Mobile UI DesignMobile UI Design
Mobile UI Design
 
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeo
 
Antica presentazione AJAX
Antica presentazione AJAXAntica presentazione AJAX
Antica presentazione AJAX
 
Win05 accesso ai dati in win 8
Win05   accesso ai dati in win 8Win05   accesso ai dati in win 8
Win05 accesso ai dati in win 8
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
 
WordPress, migrazioni e re-branding: don't try this at home. #wmf15
WordPress, migrazioni e re-branding: don't try this at home. #wmf15WordPress, migrazioni e re-branding: don't try this at home. #wmf15
WordPress, migrazioni e re-branding: don't try this at home. #wmf15
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
 
HTML5
HTML5HTML5
HTML5
 
SMAU 2010 - Scenari futuri del Video-on-the-Web: selezione o coabitazione dei...
SMAU 2010 - Scenari futuri del Video-on-the-Web: selezione o coabitazione dei...SMAU 2010 - Scenari futuri del Video-on-the-Web: selezione o coabitazione dei...
SMAU 2010 - Scenari futuri del Video-on-the-Web: selezione o coabitazione dei...
 
Session isolation e rendering delle pagine web
Session isolation e rendering delle pagine webSession isolation e rendering delle pagine web
Session isolation e rendering delle pagine web
 
Introduzione alla localizzazione web
Introduzione alla localizzazione webIntroduzione alla localizzazione web
Introduzione alla localizzazione web
 
Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013
 

HTML 5 e browser legacy

  • 1. HTML 5 e browser legacy Marco Assandri info@sinergiatotale.it
  • 2. 2022  2014 Q2 • Perché parlare di HTML5 se sarà definitivo solo nel 2014? • Devo cambiare il modo di scrivere HTML? • Come è la compatibilità con i vecchi browser (IE6 per esempio)? • Che sistemi di fallback posso usare oggi?
  • 3. Cosa riunisce HTML5? Semantica Offline e gestione dei dati Accesso al dispositivo Connettività Multimedia 3D, grafica e effetti Prestazioni e integrazione CSS3 e stili
  • 4. Semantica • Nuovi tag <header>, <article>, <nav>, <footer>, <aside>, <section>, <figure>, … • Tag eliminati <frame>, <frameset>, <big>, <center>, <font>, <strike> • Molte differenze sintattiche rispetto a XHTML 1.1 http://www.w3.org/TR/html5-diff/#absent-attributes • Attributi globali contenteditable, data, … • DEMO
  • 5. Semantica e browser legacy • I nuovi tag non vengono riconosciuti da IE6-8. http://www.html.it/guide/esempi/html5/tabella_supporto/tabella.html http://fmbip.com/#target-selector • http://www.texaswebdevelopers.com/html5/#agents=All&eras=All&ca ts=All&alts=j&statuses=rec,pr,cr,wd,ietf • Vale ancora la pena di considerare i browser legacy?
  • 7. IE6-8 • Tenendo in considerazione anche IE7 e 8 oltre arriviamo al 50%. • Dipende molto dalla nazione. • O possiamo decidere il browser oppure sono necessari sistemi di fallback!!! • DEMO
  • 8. Modernizr • Permette il riconoscimento delle funzionalità del browser • Aggiunge classi al tag <html> • Aggiunge supporto per elementi HTML5 • Non aggiunge le funzionalità mancanti, ma ne indica solo il supporto. • Incluso nei ASP.NET MVC 3 Tools
  • 10. Esempi di fallback grafici • Angoli arrotondati • Ombre • Gradienti • RGBA - Opacità • Trasparenza PNG • Background multipli • Font http://www.fontsquirrel.com/fontface • DEMO
  • 11. Multimedia e fallback • Tag <video> e <audio> • I formati video e audio supportati dipendono dai browser http://camendesign.com/code/video_for_everybody/test.html • I player sono diversi • Possibilità di fallback con Silverlight o Flash • DEMO
  • 12. Fallback <video> • Video for everybody • Video.js • Mediaelement.js (fa anche audio e supporta fallback su Silverlight) • DEMO
  • 15. Fallback <audio> • Jplayer http://www.jplayer.org/ (fa anche video) Supporta fallback flash HTML5: mp3, m4a (AAC), m4v (H.264), ogv*, oga*, wav*, webm* Flash: mp3, m4a (AAC), m4v (H.264) Skinnabile Playlist supportate • Audio.js – solo mp3 • Mediaelement.js • DEMO
  • 16. Canvas • Serve per creare grafica di tipo bitmap • Bisogna usare javascript per disegnare • Elemento <canvas> e <canvas-text> • Fallback con: FlashCanvas (http://flashcanvas.net/) explorercanvas (http://code.google.com/p/explorercanvas/) canvas-text (http://code.google.com/p/canvas-text/) • DEMO
  • 17. Grafica vettoriale • SVG Fallback con SVG Web http://code.google.com/p/svgweb/ • MathML Fallback con Mathjax http://www.mathjax.org/ • DEMO SVG Web
  • 18. Geolocalizzazione • Permette di localizzare la posizione dell’utente. • Richiede il permesso dell’utente • Fallback con Google API loader, http://freegeoip.net o altri servizi di localizzazione in base all’ip. • Webshims Lib • DEMO
  • 19. Local storage e session storage • Session storage  permette di salvare dati differenziati tra sessioni(tab diversi) • Local storage  maggiore spazio rispetto ai cookie (almeno 5 mega) e persistenza. Non passa al server. • Fallback sui cookies o su local storage di plugin (Silverlight, flash, …) • Non sono condivisi tra diversi browser, ma scatenano eventi intercettabili da altri tab. • Per oggetti è necessario JSON.parse e JSON. stringify • DEMO
  • 20. Microformats Recipe <span class="hrecipe"> <span class="fn">Tisana alla liquirizia</span> <span class="ingredient">2 cucchiai di Zucchero</span> <span class="ingredient">20g Radice di liquirizia</span> <span class="yield">2</span> <span class="instructions"> Scaldare un pentolino con 200cl d’acqua fino a 95°C; versare la radice di liquirizia; lasciar macerare per 7 minuti; zuccherare e servire. </span> <span class="duration"> <span class="value-title" title="PT90M"></span> 90 min </span> </span> rel=nofollow Hcard Hreview Nascono per risolvere l’incapacità di descrivere il significato delle informazioni di una pagina web in un formato interpretabile da altri software. Lista su http://microformats.org/
  • 21. HTML 5 Cross Browser Polyfills • Web Workers, Offline web applications e altre feature non definitive hanno fallback. • Lista abbastanza completa https://github.com/Modernizr/Modernizr/ wiki/HTML5-Cross-browser-Polyfills