SlideShare ist ein Scribd-Unternehmen logo
1 von 38
HTML5, are we there yet?
                            Jax CodeCamp, Oct 2012

                                Ovidiu Dimulescu




Saturday, October 6, 12
Agenda
                      •   What is HTML5?
                      •   Features
                      •   Polyfills and shims
                      •   Status
                      •   Resources
                      •   Q&A




Saturday, October 6, 12
About @odimulescu
         • Working on the Web since 1997
         • Into startup and engineering cultures
         • Speaker at user groups
         • Organizer for JaxMUG.com
         • Co-Organizer for Jax Big Data meetup




Saturday, October 6, 12
What is   ?




Saturday, October 6, 12
HTML- A bit of history




         * Credit evolutionofweb.appspot.com


Saturday, October 6, 12
HTML- A bit of history




         * Credit evolutionofweb.appspot.com


Saturday, October 6, 12
HTML- A bit of history




         * Credit evolutionofweb.appspot.com


Saturday, October 6, 12
HTML5- What is it?
         • W3C, WHATWG
         • HTML, DHTML, XHTML, Quirks mode
         • JSON, AJAX, Web Forms, Web Sockets, Web Workers
         • Navigation History State, CORS
         • DOM (Style, Events, HTML)
         • CSS, Media Queries, Web Fonts
         • Canvas, SVG, Audio,Video, WebGL
         • Local Storage, Offline Apps
         • HTML5 App, Single Page app



Saturday, October 6, 12
HTML5 - What is it?
         An evolution of HTML4
            • New DOM elements
            • New JavaScript APIs

         HTML5 is a “brand”
            • CSS3
            • Additional Rich APIs
            • Umbrella term for cool web things



Saturday, October 6, 12
HTML5- Features




Saturday, October 6, 12
HTML5- Document Structure




Saturday, October 6, 12
HTML5 - Semantic Tags




Saturday, October 6, 12
HTML5 - Semantic Tags




                                                    No DIV !?




         *Image Credit: indianlakes.wordpress.com

Saturday, October 6, 12
HTML5 - Semantic Tags




                                                       Text




            *Credit: www.w3.org/wiki/HTML_structural_elements

Saturday, October 6, 12
HTML5 - Semantic Tags




            *Credit: www.w3.org/wiki/HTML_structural_elements

Saturday, October 6, 12
HTML5 - Semantic Tags




            *Credit: www.w3.org/wiki/HTML_structural_elements

Saturday, October 6, 12
HTML5 - Semantic Tags




            *Credit: www.w3.org/wiki/HTML_structural_elements

Saturday, October 6, 12
HTML5 - Semantic Tags
         Browser Support
          Modern Browser, IE9 +

         Problems with unknown tags
          1. Default style inline + Styles not applied (oldIE)
          2. DOM incorrect (oldIE)

         Workarounds
          1. header, footer, nav, section { display: block}
          2. <script>document.createElement("article");</script>

             code.google.com/p/html5shim/

Saturday, October 6, 12
HTML5 - Forms
             New Input Types
             tel, url, email, number, range, color, search, datetime, date,
             month, week, time, datetime-local

             New Form and Input Type Attributes
             placeholder, required, autofocus, autocomplete, pattern,
             step, list, min, max, range, accept, multiple

             New Elements
             progress, meter, datalist, output



Saturday, October 6, 12
HTML5 - Forms
             “Roaming” Form elements
              • Can be outside of form elements
              • Can belong to multiple forms
             Validation Pseudo selectors
              :invalid and :required *

             Constraint Validation API
              checkValidity, setCustomValidity, willValidate

             DOM-less Form Submissions
              FormData -> XMLHttpRequest.send()


Saturday, October 6, 12
HTML5 - Forms - Status




                          wufoo.com/html5




Saturday, October 6, 12
HTML5 - Offline applications
         Advantages
           • UX - Offline usage
           • UX - Speed
           • Server - Reduced load
         Caveats
           • No love from IE < 10
           • Size limitation 5MB (iOS 6 is up to 25MB)
           • Server side add text/cache-manifest mime-type
         Reference



               • Extension is not important but mime-type is
               • Absolute (same origin) and relative URI
               • Cached as a regular HTTP resource headers*




Saturday, October 6, 12
HTML5 - Offline Apps - Manifest




         •      CACHE MANIFEST is a required first line
         •      CACHE section is implicit, default behavior
         •      Syntax checking *very* strict. Any error aborts caching
         •      If any resources fails loading aborts cache update
         •      CACHE does not support wildcards. Explicit path needed
         •      A page referencing a manifest file is implicitly cached
         •      Relative URIs are relative to the cache manifest's URI

         See appcachefacts.info for various quirks
Saturday, October 6, 12
HTML5 - Offline Apps - Cache




        *Credit: marakana.com/bookshelf/html5_tutorial/offline_applications.html

Saturday, October 6, 12
HTML5 - Web Storage
         Old Way
               Cookies, Flash, Silverlight, AIR, userData in IE, Google Gears

         New Way




               • Isolation per sub-domain and per protocol. Does not expire until cleared
               • 5MB limit.Values are Strings. Webkit stores UTF-16 -> 2.5MB effective storage
               • No mechanism when quota is exceeded to prompt the user
               • Prompts the user first time for permission to store data
               • Well supported: IE8+. Use history.js shim for older browsers
Saturday, October 6, 12
HTML5 - Geolocation
         Geo location detection

               Global Positioning System (GPS)
               Inferred: IP address, MAC, Cellphone IDs, etc.
               User Input

         Required Attributes

               latitude, longitude and accuracy are guaranteed in supporting browsers
               Other attributes will just return null if the information cannot be provided

         Browser Support
           IE9+, Modern Browser

         Privacy Concerns

         User agent has to explicitly ask for user permission to obtain location
         Recipients must disclose the data usage:

                      How long the location data is stored?
                      Is it shared with other sites/partners?
                      Can the location data be updated or deleted by the end user?

Saturday, October 6, 12
HTML5 - Geolocation




Saturday, October 6, 12
HTML5 - Canvas
         Old Way

               • Using plugins such as Flash, Silverlight, JavaFX, SVG,VML
               • VML (Vector Markup Language) only works in IE
               • SVG, IE support since 9+

         New Way

               • <canvas> element, lacks border and content by default
               • JavaScript 2D API

         Browser Support
               IE9+, Modern Browser
               Older IEs - use explorercanvas.js (emulates Canvas via VML)
               WebGL 3D API - Full support in Chrome only



Saturday, October 6, 12
HTML5 - Canvas
         Markup




         Operations
           Context, Transformation, Pixel Manipulation, Compositing, Image Drawing, Text, Path,
           Rectangles, Colors, Shadows, Styles

         Scripting




         http://www.nihilogic.dk/labs/canvas_sheet/HTML5_Canvas_Cheat_Sheet.png



Saturday, October 6, 12
HTML5 - Canvas | SVG
         Coolness
           www.chromeweblab.com

         Canvas
           developer.mozilla.org/en-US/demos/tag/tech:canvas
           threejs.org (webgl)
           hakim.se/experiments

         SVG
           raphaeljs.com
           d3js.org
           paperjs.org/about

         Canvas or SVG
           www.sitepoint.com/how-to-choose-between-canvas-and-svg



Saturday, October 6, 12
HTML5 - Media Elements
         Audio & Video tags
          • Modern Browser, IE9+
          • Codecs support not uniform
          • Polyfill - audio.js, videojs.com
          • Audio Codecs: Ogg, Mp3, Wav, Aac
          • Video Codecs: H.264 (mp4), Ogg (ogv),VP8 (webm)

         <source> multiple occurrences allowed
         <track> caption tracks. not implemented yet
         <embed> external plugins



Saturday, October 6, 12
HTML5 - Media - videojs.com




Saturday, October 6, 12
HTML5 - Polyfills, shims
         Audience
               Old IEs and modern browser

         Solutions
              • Modernizr - Normalized feature detector
              • html5shim
              • FlashCanvas, JebGL, GCF, socket.io, css3pie, amplifyjs
              • GCF - Google Chrome Frame

         Caveats
              Not everything can be detected
              Performance (jsPerf.com, yepnope.js)
Saturday, October 6, 12
HTML5 - Status - Use or not?




        *Image Credit: Wikipedia

Saturday, October 6, 12
HTML5 - Status - Use or not?




        *Image Credit: coolgraphic.org

Saturday, October 6, 12
HTML5 - Resources
             diveintohtml5.info | modernizr.com | iewebgl.com | videojs.com
             caniuse.com | html5test.com | mobilehtml5.org | quirksmode.org
             html5rocks.com | http://coding.smashingmagazine.com/2011/11/18/
             html5-semantics/
             html5demos.com
             html5doctor.com
             html5boilerplate.com
             developer.mozilla.org/en-US/docs/HTML/HTML5
             craftyjs.com
             www.cuttherope.ie/dev/
             www.infoq.com/presentations/Angry-Birds-on-HTML5
             ishtml5readyyet.com
Saturday, October 6, 12
HTML5 - References
             diveintohtml5.info
             html5rocks.com
             html5doctor.com
             developer.mozilla.org/en-US/docs/HTML/HTML5




Saturday, October 6, 12
Q &A




Saturday, October 6, 12

Weitere ähnliche Inhalte

Was ist angesagt?

JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)jeresig
 
Html5 coredevsummit
Html5 coredevsummitHtml5 coredevsummit
Html5 coredevsummitJen Simmons
 
Html5 Brown Bag
Html5 Brown BagHtml5 Brown Bag
Html5 Brown Bagstuplum
 
Html5 shubelal
Html5 shubelalHtml5 shubelal
Html5 shubelalShub
 
Fosdem 2009 – improving drupal's page loading performance
Fosdem 2009 – improving drupal's page loading performanceFosdem 2009 – improving drupal's page loading performance
Fosdem 2009 – improving drupal's page loading performanceErup Enolc
 
Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...
Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...
Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...Jesse Cravens
 
Drupal content editor flexibility
Drupal content editor flexibilityDrupal content editor flexibility
Drupal content editor flexibilityhernanibf
 
Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelonahernanibf
 
HTML 5 Fundamental
HTML 5 FundamentalHTML 5 Fundamental
HTML 5 FundamentalLanh Le
 
Total Browser Pwnag3 V1.0 Public
Total Browser Pwnag3   V1.0 PublicTotal Browser Pwnag3   V1.0 Public
Total Browser Pwnag3 V1.0 PublicRafal Los
 

Was ist angesagt? (13)

JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 
Html5 coredevsummit
Html5 coredevsummitHtml5 coredevsummit
Html5 coredevsummit
 
Html5 Brown Bag
Html5 Brown BagHtml5 Brown Bag
Html5 Brown Bag
 
Html5 shubelal
Html5 shubelalHtml5 shubelal
Html5 shubelal
 
Fosdem 2009 – improving drupal's page loading performance
Fosdem 2009 – improving drupal's page loading performanceFosdem 2009 – improving drupal's page loading performance
Fosdem 2009 – improving drupal's page loading performance
 
Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...
Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...
Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Re...
 
What is HTML5
What is HTML5What is HTML5
What is HTML5
 
Drupal content editor flexibility
Drupal content editor flexibilityDrupal content editor flexibility
Drupal content editor flexibility
 
Html5 public
Html5 publicHtml5 public
Html5 public
 
Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelona
 
HTML 5 Fundamental
HTML 5 FundamentalHTML 5 Fundamental
HTML 5 Fundamental
 
Total Browser Pwnag3 V1.0 Public
Total Browser Pwnag3   V1.0 PublicTotal Browser Pwnag3   V1.0 Public
Total Browser Pwnag3 V1.0 Public
 

Andere mochten auch

Andere mochten auch (14)

Module 6 lesson 8
Module 6 lesson 8Module 6 lesson 8
Module 6 lesson 8
 
Evaltion for adam
Evaltion for adamEvaltion for adam
Evaltion for adam
 
Evaltion for adam v
Evaltion for adam vEvaltion for adam v
Evaltion for adam v
 
Plan tic 9_a
Plan tic 9_aPlan tic 9_a
Plan tic 9_a
 
Evaluation question 2
Evaluation question 2Evaluation question 2
Evaluation question 2
 
cert (18)
cert (18)cert (18)
cert (18)
 
Ateliers_DEST_Programme
Ateliers_DEST_ProgrammeAteliers_DEST_Programme
Ateliers_DEST_Programme
 
Machine
MachineMachine
Machine
 
assignment
assignmentassignment
assignment
 
Webinar portage salarial 21 juin 2016
Webinar portage salarial 21 juin 2016Webinar portage salarial 21 juin 2016
Webinar portage salarial 21 juin 2016
 
Node.js, toy or power tool?
Node.js, toy or power tool?Node.js, toy or power tool?
Node.js, toy or power tool?
 
XP祭り2016 - SWチームとHWチームがスクラムを組んだら
XP祭り2016 - SWチームとHWチームがスクラムを組んだらXP祭り2016 - SWチームとHWチームがスクラムを組んだら
XP祭り2016 - SWチームとHWチームがスクラムを組んだら
 
Protractor introduction
Protractor introductionProtractor introduction
Protractor introduction
 
Linear equations lesson 5 horizontal and vertical lines
Linear equations lesson 5 horizontal and vertical linesLinear equations lesson 5 horizontal and vertical lines
Linear equations lesson 5 horizontal and vertical lines
 

Ähnlich wie HTML5, are we there yet?

HTML5--The 30,000' View (A fast-paced overview of HTML5)
HTML5--The 30,000' View (A fast-paced overview of HTML5)HTML5--The 30,000' View (A fast-paced overview of HTML5)
HTML5--The 30,000' View (A fast-paced overview of HTML5)Peter Lubbers
 
Top 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud DevelopersTop 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud DevelopersBrian Huff
 
Local Storage for Web Applications
Local Storage for Web ApplicationsLocal Storage for Web Applications
Local Storage for Web ApplicationsMarkku Laine
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareHTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareRomin Irani
 
HTML5のご紹介
HTML5のご紹介HTML5のご紹介
HTML5のご紹介yoshikawa_t
 
HTML5, CSS3 and the Future of the Web
HTML5, CSS3 and the Future of the WebHTML5, CSS3 and the Future of the Web
HTML5, CSS3 and the Future of the WebBerg Brandt
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Joseph Lewis
 
Html5 Application Security
Html5 Application SecurityHtml5 Application Security
Html5 Application Securitychuckbt
 
The Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesThe Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesWesley Hales
 
HTML Semantic Tags
HTML Semantic TagsHTML Semantic Tags
HTML Semantic TagsBruce Kyle
 
HTML5 History & Features
HTML5 History & FeaturesHTML5 History & Features
HTML5 History & FeaturesDave Ross
 
Rapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaRapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaKunal Dabir
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An OverviewNagendra Um
 
In-browser storage and me
In-browser storage and meIn-browser storage and me
In-browser storage and meJason Casden
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentTilak Joshi
 
Html5 today
Html5 todayHtml5 today
Html5 todayRoy Yu
 
HTML5 Accessibility
HTML5 AccessibilityHTML5 Accessibility
HTML5 AccessibilityUser Vision
 

Ähnlich wie HTML5, are we there yet? (20)

HTML5--The 30,000' View (A fast-paced overview of HTML5)
HTML5--The 30,000' View (A fast-paced overview of HTML5)HTML5--The 30,000' View (A fast-paced overview of HTML5)
HTML5--The 30,000' View (A fast-paced overview of HTML5)
 
Top 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud DevelopersTop 10 HTML5 Features for Oracle Cloud Developers
Top 10 HTML5 Features for Oracle Cloud Developers
 
Local Storage for Web Applications
Local Storage for Web ApplicationsLocal Storage for Web Applications
Local Storage for Web Applications
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareHTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm Software
 
HTML5のご紹介
HTML5のご紹介HTML5のご紹介
HTML5のご紹介
 
HTML5, CSS3 and the Future of the Web
HTML5, CSS3 and the Future of the WebHTML5, CSS3 and the Future of the Web
HTML5, CSS3 and the Future of the Web
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)
 
Html5 Application Security
Html5 Application SecurityHtml5 Application Security
Html5 Application Security
 
The Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devicesThe Mobile Web - HTML5 on mobile devices
The Mobile Web - HTML5 on mobile devices
 
HTML Semantic Tags
HTML Semantic TagsHTML Semantic Tags
HTML Semantic Tags
 
Html5 Flyover
Html5 FlyoverHtml5 Flyover
Html5 Flyover
 
HTML5 History & Features
HTML5 History & FeaturesHTML5 History & Features
HTML5 History & Features
 
Rapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaRapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for Java
 
HTML5: An Overview
HTML5: An OverviewHTML5: An Overview
HTML5: An Overview
 
In-browser storage and me
In-browser storage and meIn-browser storage and me
In-browser storage and me
 
HTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web DevelopmentHTML5: An Introduction To Next Generation Web Development
HTML5: An Introduction To Next Generation Web Development
 
Html5 tx - preso
Html5 tx - presoHtml5 tx - preso
Html5 tx - preso
 
Html5 today
Html5 todayHtml5 today
Html5 today
 
HTML5 Accessibility
HTML5 AccessibilityHTML5 Accessibility
HTML5 Accessibility
 
Html5 Future of WEB
Html5 Future of WEBHtml5 Future of WEB
Html5 Future of WEB
 

Mehr von Ovidiu Dimulescu

Mehr von Ovidiu Dimulescu (10)

Microservices - Yet another buzzword
Microservices - Yet another buzzwordMicroservices - Yet another buzzword
Microservices - Yet another buzzword
 
Threads Needles Stacks Heaps - Java edition
Threads Needles Stacks Heaps - Java editionThreads Needles Stacks Heaps - Java edition
Threads Needles Stacks Heaps - Java edition
 
Journeyman to Master
Journeyman to MasterJourneyman to Master
Journeyman to Master
 
The Rise of DevOps
The Rise of DevOpsThe Rise of DevOps
The Rise of DevOps
 
Hadoop on Azure, Blue elephants
Hadoop on Azure,  Blue elephantsHadoop on Azure,  Blue elephants
Hadoop on Azure, Blue elephants
 
Git for Windows
Git for WindowsGit for Windows
Git for Windows
 
Hadoop, Taming Elephants
Hadoop, Taming ElephantsHadoop, Taming Elephants
Hadoop, Taming Elephants
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
 
Git SVN Migrate Reasons
Git SVN Migrate ReasonsGit SVN Migrate Reasons
Git SVN Migrate Reasons
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 

Kürzlich hochgeladen

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

HTML5, are we there yet?

  • 1. HTML5, are we there yet? Jax CodeCamp, Oct 2012 Ovidiu Dimulescu Saturday, October 6, 12
  • 2. Agenda • What is HTML5? • Features • Polyfills and shims • Status • Resources • Q&A Saturday, October 6, 12
  • 3. About @odimulescu • Working on the Web since 1997 • Into startup and engineering cultures • Speaker at user groups • Organizer for JaxMUG.com • Co-Organizer for Jax Big Data meetup Saturday, October 6, 12
  • 4. What is ? Saturday, October 6, 12
  • 5. HTML- A bit of history * Credit evolutionofweb.appspot.com Saturday, October 6, 12
  • 6. HTML- A bit of history * Credit evolutionofweb.appspot.com Saturday, October 6, 12
  • 7. HTML- A bit of history * Credit evolutionofweb.appspot.com Saturday, October 6, 12
  • 8. HTML5- What is it? • W3C, WHATWG • HTML, DHTML, XHTML, Quirks mode • JSON, AJAX, Web Forms, Web Sockets, Web Workers • Navigation History State, CORS • DOM (Style, Events, HTML) • CSS, Media Queries, Web Fonts • Canvas, SVG, Audio,Video, WebGL • Local Storage, Offline Apps • HTML5 App, Single Page app Saturday, October 6, 12
  • 9. HTML5 - What is it? An evolution of HTML4 • New DOM elements • New JavaScript APIs HTML5 is a “brand” • CSS3 • Additional Rich APIs • Umbrella term for cool web things Saturday, October 6, 12
  • 12. HTML5 - Semantic Tags Saturday, October 6, 12
  • 13. HTML5 - Semantic Tags No DIV !? *Image Credit: indianlakes.wordpress.com Saturday, October 6, 12
  • 14. HTML5 - Semantic Tags Text *Credit: www.w3.org/wiki/HTML_structural_elements Saturday, October 6, 12
  • 15. HTML5 - Semantic Tags *Credit: www.w3.org/wiki/HTML_structural_elements Saturday, October 6, 12
  • 16. HTML5 - Semantic Tags *Credit: www.w3.org/wiki/HTML_structural_elements Saturday, October 6, 12
  • 17. HTML5 - Semantic Tags *Credit: www.w3.org/wiki/HTML_structural_elements Saturday, October 6, 12
  • 18. HTML5 - Semantic Tags Browser Support Modern Browser, IE9 + Problems with unknown tags 1. Default style inline + Styles not applied (oldIE) 2. DOM incorrect (oldIE) Workarounds 1. header, footer, nav, section { display: block} 2. <script>document.createElement("article");</script> code.google.com/p/html5shim/ Saturday, October 6, 12
  • 19. HTML5 - Forms New Input Types tel, url, email, number, range, color, search, datetime, date, month, week, time, datetime-local New Form and Input Type Attributes placeholder, required, autofocus, autocomplete, pattern, step, list, min, max, range, accept, multiple New Elements progress, meter, datalist, output Saturday, October 6, 12
  • 20. HTML5 - Forms “Roaming” Form elements • Can be outside of form elements • Can belong to multiple forms Validation Pseudo selectors :invalid and :required * Constraint Validation API checkValidity, setCustomValidity, willValidate DOM-less Form Submissions FormData -> XMLHttpRequest.send() Saturday, October 6, 12
  • 21. HTML5 - Forms - Status wufoo.com/html5 Saturday, October 6, 12
  • 22. HTML5 - Offline applications Advantages • UX - Offline usage • UX - Speed • Server - Reduced load Caveats • No love from IE < 10 • Size limitation 5MB (iOS 6 is up to 25MB) • Server side add text/cache-manifest mime-type Reference • Extension is not important but mime-type is • Absolute (same origin) and relative URI • Cached as a regular HTTP resource headers* Saturday, October 6, 12
  • 23. HTML5 - Offline Apps - Manifest • CACHE MANIFEST is a required first line • CACHE section is implicit, default behavior • Syntax checking *very* strict. Any error aborts caching • If any resources fails loading aborts cache update • CACHE does not support wildcards. Explicit path needed • A page referencing a manifest file is implicitly cached • Relative URIs are relative to the cache manifest's URI See appcachefacts.info for various quirks Saturday, October 6, 12
  • 24. HTML5 - Offline Apps - Cache *Credit: marakana.com/bookshelf/html5_tutorial/offline_applications.html Saturday, October 6, 12
  • 25. HTML5 - Web Storage Old Way Cookies, Flash, Silverlight, AIR, userData in IE, Google Gears New Way • Isolation per sub-domain and per protocol. Does not expire until cleared • 5MB limit.Values are Strings. Webkit stores UTF-16 -> 2.5MB effective storage • No mechanism when quota is exceeded to prompt the user • Prompts the user first time for permission to store data • Well supported: IE8+. Use history.js shim for older browsers Saturday, October 6, 12
  • 26. HTML5 - Geolocation Geo location detection Global Positioning System (GPS) Inferred: IP address, MAC, Cellphone IDs, etc. User Input Required Attributes latitude, longitude and accuracy are guaranteed in supporting browsers Other attributes will just return null if the information cannot be provided Browser Support IE9+, Modern Browser Privacy Concerns User agent has to explicitly ask for user permission to obtain location Recipients must disclose the data usage: How long the location data is stored? Is it shared with other sites/partners? Can the location data be updated or deleted by the end user? Saturday, October 6, 12
  • 28. HTML5 - Canvas Old Way • Using plugins such as Flash, Silverlight, JavaFX, SVG,VML • VML (Vector Markup Language) only works in IE • SVG, IE support since 9+ New Way • <canvas> element, lacks border and content by default • JavaScript 2D API Browser Support IE9+, Modern Browser Older IEs - use explorercanvas.js (emulates Canvas via VML) WebGL 3D API - Full support in Chrome only Saturday, October 6, 12
  • 29. HTML5 - Canvas Markup Operations Context, Transformation, Pixel Manipulation, Compositing, Image Drawing, Text, Path, Rectangles, Colors, Shadows, Styles Scripting http://www.nihilogic.dk/labs/canvas_sheet/HTML5_Canvas_Cheat_Sheet.png Saturday, October 6, 12
  • 30. HTML5 - Canvas | SVG Coolness www.chromeweblab.com Canvas developer.mozilla.org/en-US/demos/tag/tech:canvas threejs.org (webgl) hakim.se/experiments SVG raphaeljs.com d3js.org paperjs.org/about Canvas or SVG www.sitepoint.com/how-to-choose-between-canvas-and-svg Saturday, October 6, 12
  • 31. HTML5 - Media Elements Audio & Video tags • Modern Browser, IE9+ • Codecs support not uniform • Polyfill - audio.js, videojs.com • Audio Codecs: Ogg, Mp3, Wav, Aac • Video Codecs: H.264 (mp4), Ogg (ogv),VP8 (webm) <source> multiple occurrences allowed <track> caption tracks. not implemented yet <embed> external plugins Saturday, October 6, 12
  • 32. HTML5 - Media - videojs.com Saturday, October 6, 12
  • 33. HTML5 - Polyfills, shims Audience Old IEs and modern browser Solutions • Modernizr - Normalized feature detector • html5shim • FlashCanvas, JebGL, GCF, socket.io, css3pie, amplifyjs • GCF - Google Chrome Frame Caveats Not everything can be detected Performance (jsPerf.com, yepnope.js) Saturday, October 6, 12
  • 34. HTML5 - Status - Use or not? *Image Credit: Wikipedia Saturday, October 6, 12
  • 35. HTML5 - Status - Use or not? *Image Credit: coolgraphic.org Saturday, October 6, 12
  • 36. HTML5 - Resources diveintohtml5.info | modernizr.com | iewebgl.com | videojs.com caniuse.com | html5test.com | mobilehtml5.org | quirksmode.org html5rocks.com | http://coding.smashingmagazine.com/2011/11/18/ html5-semantics/ html5demos.com html5doctor.com html5boilerplate.com developer.mozilla.org/en-US/docs/HTML/HTML5 craftyjs.com www.cuttherope.ie/dev/ www.infoq.com/presentations/Angry-Birds-on-HTML5 ishtml5readyyet.com Saturday, October 6, 12
  • 37. HTML5 - References diveintohtml5.info html5rocks.com html5doctor.com developer.mozilla.org/en-US/docs/HTML/HTML5 Saturday, October 6, 12