SlideShare a Scribd company logo
Tecniche di animazione
       digitale I
Michele Bertoli
Founder / Lead Software Engineer at Igloo




                   igloolab.com
      michele.bertoli@accademiasantagiulia.it
Basic 1
 November 21, 2012
Agenda

 How "internet" works                    5



 HTML5 overview                          7



 Browser support                         23



 Tools                                   30



 Shims and Polyfills                     35



 Semantic tags                           42



                              4
                        Basic / Agenda
How "internet" works
How "internet" works




                6
      Basic / HTML5 overview
HTML5 overview
Introduction


HyperText Markup Language is the core
   technology of the World Wide Web.


With HTML, authors describe the structure of
       Web pages using markup tags.




                           8
                 Basic / HTML5 overview
Introduction



  • Web applications oriented.
  • Improves interoperability.
  • Adds syntactic and semantic
    features.




                                9
                      Basic / HTML5 overview
History




          10
Basic / HTML5 overview
History

 •   2004 WHATWG is born (with members fro Apple, the Mozilla
     Foundation and Opera Software).
 •   2007 W3C announces it will work with WHATWG.
 •   2008 First version of HTML5 is published.
 •   2008 Firefox 3 becomes HTML5 compatible.
 •   2010 Youtube offers HTML5 video player.
 •   2010 Steve Jobs "trashes" Flash in an open letter.




                                      11
                            Basic / HTML5 overview
Future


 •   2012 Candidate recommendation.
 •   2013 Last call for review.
 •   2014 Recommendation.




                              12
                    Basic / HTML5 overview
Features


Doctype
HTML 4.01

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">



HTML 5

 <!DOCTYPE html>




                                               13
                                     Basic / HTML5 overview
Features
     Semantic tags

            <header>


             <nav>

<section>                   <aside>

<article>



            <footer>




                 14
       Basic / HTML5 overview
Features


Media elements

 <audio>




 <video>




                           15
                 Basic / HTML5 overview
Features
Geolocation




    jobberone.com




          16
Basic / HTML5 overview
Features
      Canvas




A world of HyperlinkTweets



            17
  Basic / HTML5 overview
Features

Input types                    Form validation
 •   color
 •   date
 •   datetime
 •   datetime-local
 •   email
 •   month
 •   number
 •   range
 •   search
 •   tel
 •   time
 •   url
 •   week




                                                 3
                                18
                      Basic / HTML5 overview
Features

Draggable & FileReader




     jQuery HTML5 Uploader




                19
      Basic / HTML5 overview
Features


Offline applications

 •   LocalStorage
 •   Appcache




                                20
                       Basic / HTML5 overview
Features


Web Sockets
 var exampleSocket = new WebSocket("ws://www.example.com/socketserver", "protocolOne");
 exampleSocket.onopen = function (event) {
    exampleSocket.send("Here's some text that the server is urgently awaiting!");
 };




                                                 21
                                       Basic / HTML5 overview
Samples



 •   http://www.apple.com/html5
 •   http://www.youtube.com/html5
 •   https://developers.facebook.com/html5




                               22
                      Basic / HTML5 overview
Browser support
Introduction


            Browser compatibility
  The ability of a Web browser to effectively
display the HTML code and execute the scripts
                 on Web pages.




                           24
                 Basic / Browser support
History

  The Evolution of Web Browsers

  •   1992 Mosaic.
  •   1994 NetScape and Opera.
  •   1995 Internet Explorer.
  •   2002 Safari.
  •   2004 Firefox.
  •   2008 Chrome.



                                      25
                            Basic / Browser support
Today




  StatCounter



          26
Basic / Browser support
HTML5 Support




   HTML5 & CSS3 Support



              27
    Basic / Browser support
Samples



 •   http://browsershots.org
 •   https://browserlab.adobe.com
 •   http://www.browserstack.com




                                28
                      Basic / Browser support
15 MINUTI DI PAUSA
Tools
Can I Use


  Compatibility tables for support of HTML5,
  CSS3, SVG and more in desktop and mobile
  browsers.


    http://caniuse.com




                               31
                          Basic / Tools
Samples

http://caniuse.com/#feat=offline-apps




                        32
                   Basic / Tools
Modernizr


 Modernizr is a JavaScript library that detects
 HTML5 and CSS3 features in the user’s
 browser.


   http://modernizr.com/




                                33
                           Basic / Tools
Samples


Usage                                                      Implementation

    if (Modernizr.localstorage) {                            Modernizr.addTest('localstorage', function() {
      // window.localStorage is available!                     var mod = 'modernizr';
   } else {                                                    try {
     // no native support for local storage :(                   localStorage.setItem(mod, mod);
    // maybe try Gears or another third-party                    localStorage.removeItem(mod);
solution                                                         return true;
 }                                                             } catch(e) {
                                                                 return false;
                                                               }
                                                             });




                                                      34
                                                 Basic / Tools
Shims and polyfills
Shims



  A shim is a library that brings a new API to an
older environment, using only the means of that
                    environment.




                               36
                   Basic / Shims and polyfills
Samples



HTML5Shiv


  <!--[if lt IE 9]>
 <script src="dist/html5shiv.js"></script>
 <![endif]-->




                                                         37
                                             Basic / Shims and polyfills
Polyfills


  A polyfill is a piece of code (or plugin) that
  provides the technology that you, the
  developer, expect the browser to provide
  natively. Flattening the API landscape if you
  will.




                                  38
                             Basic / Tools
Samples

 •   http://lea.verou.me/polyfills/progress/




                               39
                          Basic / Tools
Yeponope


 Yepnope is an asynchronous conditional
 resource loader that's super-fast, and allows
 you to load only the scripts that your users
 need.




                                40
                           Basic / Tools
Samples




yepnope({
    test : Modernizr.geolocation,
    yep : 'normal.js',
    nope : ['polyfill.js', 'wrapper.js']
});




                                                      41
                                          Basic / Shims and polyfills
Semantic tags
<article>
The article element represents a self-contained
 composition in a document, page, application,
 or site and that is, in principle, independently
  distributable or reusable, e.g. in syndication.
   This could be a forum post, a magazine or
newspaper article, a blog entry, a usersubmitted
       comment, an interactive widget or
   gadget, or any other independent item of
                     content.

                            43
                   Basic / Semantic tags
<section>



   The section element represents a generic
     section of a document or application.
A section, in this context, is a thematic grouping
      of content, typically with a heading.




                             44
                    Basic / Semantic tags
<nav>



  The nav element represents a section of a
page that links to other pages or to parts within
   the page: a section with navigation links.




                            45
                   Basic / Semantic tags
<aside>

  The aside element represents a section of a
page that consists of content that is tangentially
    related to the content around the aside
    element, and which could be considered
           separate from that content.
    Such sections are often represented as
         sidebars in printed typography.


                             46
                    Basic / Semantic tags
<header>




The header element represents a group of
    introductory or navigational aids.




                        47
               Basic / Semantic tags
<footer>

 The footer element represents a footer for its
    nearest ancestor sectioning content or
            sectioning root element.
A footer typically contains information about its
  section such as who wrote it, links to related
    documents, copyright data, and the like.



                            48
                   Basic / Semantic tags
Thank you



             igloolab.com
michele.bertoli@accademiasantagiulia.it

More Related Content

Viewers also liked (20)

PDF
$$$ SOLDI $$$
iloveigloo
 
PDF
#5 - CSS3 Gradients and Backgrounds
iloveigloo
 
PDF
#7 - Client-side web apps, MVC and jQuery
iloveigloo
 
PDF
#2 - CSS Layouts Overview
iloveigloo
 
PDF
#3 - Sectioning content and outline view
iloveigloo
 
PDF
#4 - CSS Selectors, CSS3 and Web typography
iloveigloo
 
PDF
#6 - Template Engine: Mustache.js
iloveigloo
 
PDF
Client-side MVC with Backbone.js (reloaded)
iloveigloo
 
PDF
Shoppingsquare
iloveigloo
 
PDF
CSS3: Ripe and Ready
Denise Jacobs
 
PDF
كتاب تعلم Html5 css3
titifcom
 
PDF
Magic of Ruby
Gabriele Lana
 
PDF
Parse Everything With Elixir
Gabriele Lana
 
PDF
Beyond Phoenix
Gabriele Lana
 
ODP
Estilo & CSS3
ccarruitero
 
PDF
CSS3: A practical introduction (FT2010 talk)
Lea Verou
 
PDF
CSS3 secrets: 10 things you might not know about CSS3
Lea Verou
 
PDF
Conoce HTML5 y CSS3
Marta Armada
 
PDF
Fundamental CSS3
Achmad Solichin
 
PDF
Fundamental HTML5
Achmad Solichin
 
$$$ SOLDI $$$
iloveigloo
 
#5 - CSS3 Gradients and Backgrounds
iloveigloo
 
#7 - Client-side web apps, MVC and jQuery
iloveigloo
 
#2 - CSS Layouts Overview
iloveigloo
 
#3 - Sectioning content and outline view
iloveigloo
 
#4 - CSS Selectors, CSS3 and Web typography
iloveigloo
 
#6 - Template Engine: Mustache.js
iloveigloo
 
Client-side MVC with Backbone.js (reloaded)
iloveigloo
 
Shoppingsquare
iloveigloo
 
CSS3: Ripe and Ready
Denise Jacobs
 
كتاب تعلم Html5 css3
titifcom
 
Magic of Ruby
Gabriele Lana
 
Parse Everything With Elixir
Gabriele Lana
 
Beyond Phoenix
Gabriele Lana
 
Estilo & CSS3
ccarruitero
 
CSS3: A practical introduction (FT2010 talk)
Lea Verou
 
CSS3 secrets: 10 things you might not know about CSS3
Lea Verou
 
Conoce HTML5 y CSS3
Marta Armada
 
Fundamental CSS3
Achmad Solichin
 
Fundamental HTML5
Achmad Solichin
 

Similar to #1 - HTML5 Overview (20)

PPTX
Html5 today
Roy Yu
 
PDF
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Mark Proctor
 
PPT
HTML5 Webinar - Mind Storm Software
Romin Irani
 
PPTX
Neev Open Source Contributions
Neev Technologies
 
PPTX
Prueba ppt
Ulises Torelli
 
PPTX
Html5v1
Ulises Torelli
 
PDF
Desktop apps with node webkit
Paul Jensen
 
PDF
Drupal 7 ci and testing
Claudio Beatrice
 
PDF
No Feature Solutions with SharePoint
mikehuguet
 
PDF
Web components and friends
Sergio Contreras
 
PDF
Django in the Real World
Jacob Kaplan-Moss
 
PDF
Web Development with Delphi and React - ITDevCon 2016
Marco Breveglieri
 
PDF
web2py:Web development like a boss
Francisco Ribeiro
 
PPT
Html5 Future of WEB
Amit Choudhary
 
PPTX
Web Components
FITC
 
PDF
Html 5 in a big nutshell
Lennart Schoors
 
PDF
Os php-wiki1-pdf
Vrandesh Bandikatti
 
PDF
Workshop: Introduction to Web Components & Polymer
John Riviello
 
PDF
Web Tools for GemStone/S
ESUG
 
PDF
DevOps-Roadmap
BnhNguynHuy1
 
Html5 today
Roy Yu
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Mark Proctor
 
HTML5 Webinar - Mind Storm Software
Romin Irani
 
Neev Open Source Contributions
Neev Technologies
 
Prueba ppt
Ulises Torelli
 
Desktop apps with node webkit
Paul Jensen
 
Drupal 7 ci and testing
Claudio Beatrice
 
No Feature Solutions with SharePoint
mikehuguet
 
Web components and friends
Sergio Contreras
 
Django in the Real World
Jacob Kaplan-Moss
 
Web Development with Delphi and React - ITDevCon 2016
Marco Breveglieri
 
web2py:Web development like a boss
Francisco Ribeiro
 
Html5 Future of WEB
Amit Choudhary
 
Web Components
FITC
 
Html 5 in a big nutshell
Lennart Schoors
 
Os php-wiki1-pdf
Vrandesh Bandikatti
 
Workshop: Introduction to Web Components & Polymer
John Riviello
 
Web Tools for GemStone/S
ESUG
 
DevOps-Roadmap
BnhNguynHuy1
 
Ad

Recently uploaded (20)

PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
July Patch Tuesday
Ivanti
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
July Patch Tuesday
Ivanti
 
Ad

#1 - HTML5 Overview

  • 2. Michele Bertoli Founder / Lead Software Engineer at Igloo igloolab.com [email protected]
  • 3. Basic 1 November 21, 2012
  • 4. Agenda How "internet" works 5 HTML5 overview 7 Browser support 23 Tools 30 Shims and Polyfills 35 Semantic tags 42 4 Basic / Agenda
  • 6. How "internet" works 6 Basic / HTML5 overview
  • 8. Introduction HyperText Markup Language is the core technology of the World Wide Web. With HTML, authors describe the structure of Web pages using markup tags. 8 Basic / HTML5 overview
  • 9. Introduction • Web applications oriented. • Improves interoperability. • Adds syntactic and semantic features. 9 Basic / HTML5 overview
  • 10. History 10 Basic / HTML5 overview
  • 11. History • 2004 WHATWG is born (with members fro Apple, the Mozilla Foundation and Opera Software). • 2007 W3C announces it will work with WHATWG. • 2008 First version of HTML5 is published. • 2008 Firefox 3 becomes HTML5 compatible. • 2010 Youtube offers HTML5 video player. • 2010 Steve Jobs "trashes" Flash in an open letter. 11 Basic / HTML5 overview
  • 12. Future • 2012 Candidate recommendation. • 2013 Last call for review. • 2014 Recommendation. 12 Basic / HTML5 overview
  • 13. Features Doctype HTML 4.01 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> HTML 5 <!DOCTYPE html> 13 Basic / HTML5 overview
  • 14. Features Semantic tags <header> <nav> <section> <aside> <article> <footer> 14 Basic / HTML5 overview
  • 15. Features Media elements <audio> <video> 15 Basic / HTML5 overview
  • 16. Features Geolocation jobberone.com 16 Basic / HTML5 overview
  • 17. Features Canvas A world of HyperlinkTweets 17 Basic / HTML5 overview
  • 18. Features Input types Form validation • color • date • datetime • datetime-local • email • month • number • range • search • tel • time • url • week 3 18 Basic / HTML5 overview
  • 19. Features Draggable & FileReader jQuery HTML5 Uploader 19 Basic / HTML5 overview
  • 20. Features Offline applications • LocalStorage • Appcache 20 Basic / HTML5 overview
  • 21. Features Web Sockets var exampleSocket = new WebSocket("ws://www.example.com/socketserver", "protocolOne"); exampleSocket.onopen = function (event) { exampleSocket.send("Here's some text that the server is urgently awaiting!"); }; 21 Basic / HTML5 overview
  • 22. Samples • http://www.apple.com/html5 • http://www.youtube.com/html5 • https://developers.facebook.com/html5 22 Basic / HTML5 overview
  • 24. Introduction Browser compatibility The ability of a Web browser to effectively display the HTML code and execute the scripts on Web pages. 24 Basic / Browser support
  • 25. History The Evolution of Web Browsers • 1992 Mosaic. • 1994 NetScape and Opera. • 1995 Internet Explorer. • 2002 Safari. • 2004 Firefox. • 2008 Chrome. 25 Basic / Browser support
  • 26. Today StatCounter 26 Basic / Browser support
  • 27. HTML5 Support HTML5 & CSS3 Support 27 Basic / Browser support
  • 28. Samples • http://browsershots.org • https://browserlab.adobe.com • http://www.browserstack.com 28 Basic / Browser support
  • 29. 15 MINUTI DI PAUSA
  • 30. Tools
  • 31. Can I Use Compatibility tables for support of HTML5, CSS3, SVG and more in desktop and mobile browsers. http://caniuse.com 31 Basic / Tools
  • 33. Modernizr Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser. http://modernizr.com/ 33 Basic / Tools
  • 34. Samples Usage Implementation if (Modernizr.localstorage) { Modernizr.addTest('localstorage', function() { // window.localStorage is available! var mod = 'modernizr'; } else { try { // no native support for local storage :( localStorage.setItem(mod, mod); // maybe try Gears or another third-party localStorage.removeItem(mod); solution return true; } } catch(e) { return false; } }); 34 Basic / Tools
  • 36. Shims A shim is a library that brings a new API to an older environment, using only the means of that environment. 36 Basic / Shims and polyfills
  • 37. Samples HTML5Shiv <!--[if lt IE 9]> <script src="dist/html5shiv.js"></script> <![endif]--> 37 Basic / Shims and polyfills
  • 38. Polyfills A polyfill is a piece of code (or plugin) that provides the technology that you, the developer, expect the browser to provide natively. Flattening the API landscape if you will. 38 Basic / Tools
  • 39. Samples • http://lea.verou.me/polyfills/progress/ 39 Basic / Tools
  • 40. Yeponope Yepnope is an asynchronous conditional resource loader that's super-fast, and allows you to load only the scripts that your users need. 40 Basic / Tools
  • 41. Samples yepnope({ test : Modernizr.geolocation, yep : 'normal.js', nope : ['polyfill.js', 'wrapper.js'] }); 41 Basic / Shims and polyfills
  • 43. <article> The article element represents a self-contained composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication. This could be a forum post, a magazine or newspaper article, a blog entry, a usersubmitted comment, an interactive widget or gadget, or any other independent item of content. 43 Basic / Semantic tags
  • 44. <section> The section element represents a generic section of a document or application. A section, in this context, is a thematic grouping of content, typically with a heading. 44 Basic / Semantic tags
  • 45. <nav> The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links. 45 Basic / Semantic tags
  • 46. <aside> The aside element represents a section of a page that consists of content that is tangentially related to the content around the aside element, and which could be considered separate from that content. Such sections are often represented as sidebars in printed typography. 46 Basic / Semantic tags
  • 47. <header> The header element represents a group of introductory or navigational aids. 47 Basic / Semantic tags
  • 48. <footer> The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like. 48 Basic / Semantic tags