SlideShare a Scribd company logo
1 of 45
Download to read offline
HTML 5
In a big nutshell.




  Lennart Schoors
Me
. lead web designer at Netlog
 http://www.netlog.com


. blog at http://lensco.be
HTML 5
. Introduction
. Web Forms 2.0
. Web Applications 1.0
. When?
HTML 5
Part I – Introduction
Background
. WHATWG
. founded in 2004
. reaction against the road the W3C was taking
. XHTML was no failure, but XML part never really
 took off
. renewed focus on HTML and real-world issues
. “evolving instead of reinventing”
Background
. 2007: WHATWG joins forces with W3C
. HTML WG
. both groups now work on the HTML 5 spec
. all parties are now involved
. anyone can contribute!

. First Public Working Draft:
 January 22, 2008
Syntax
example – XHTML 1 strict:

 <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML 1.0 Strict//ENquot;
 quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot;>
 <html xmlns=quot;http://www.w3.org/1999/xhtmlquot;>
 	   <head>
 	   <meta http-equiv=quot;Content-Typequot; content=quot;text/html;
 charset=utf-8quot;>
Syntax
HTML 5:

 <!doctype html>
 <html>
 	   <head>
 	   <meta charset=quot;utf-8quot;>
Syntax

XHTML taught us:

 . lowercase tags!
 . close void elements! (img, meta, input, ...)
 . no empty attributes! (disabled=”disabled”)
 . always put attribute values in double quotes!
Syntax

HTML 5 says: you choose.
Syntax
. Tag soup? No!
. small degree of freedom,
  but very detailed rules for parsing
. validation will matter
. keep a clean coding style,
  you’ll thank yourself for it later
Syntax
. HTML 5 is designed so that old HTML 4 browsers
  can safely ignore new HTML 5 constructs
. “Documents must not use deprecated features.
  User agents should support deprecated
  features.”
. extensive error handling by UAs
What’s gone
Say bye bye to:
 . frames
 . acronym, basefont, big, center, font, s, strike, tt, u
 . language attribute on script
 . loads of presentational attributes:
   cellpadding, cellspacing, width   & height on tables
   & cells, align & valign, clear, size on inputs, ...
Good riddance!
HTML 5
Part II – Web Forms 2.0
Web Forms 2.0
. set of elements, attributes & input types
. complete repetition model for forms with
  recurring fields (adding, removing and
  moving blocks)
. better solutions for combo-boxes &
  auto-completion — like search suggestions
  (list attribute, datalist & select elements)
Input types
 . date & time (single or range)
 . email & url
 . color picker

 . user agent can provide the user interface —
  integrated with native tools
 . client-side validation
Input types
       <input type=”date”>   in Opera:
Attributes
 . required, placeholder, autofocus, autocomplete,
   inputmode

 . validation with pattern attribute
   (using regular expressions)
 . min, max (number of files for multi-file uploads)
 . a <fieldset> can be entirely disabled
 . form (assign form elements to multiple forms)
Web Forms 2.0
. standardization of input methods
. a lot less Javascript and server-side work
. super useful!
HTML 5
Part III – Web Applications 1.0
Web Applications 1.0
 . set of elements, attributes & APIs
 . because it’s not 1998 anymore
 . the web is no longer a collection of static pages
Elements
. meter, progress, output, time
. m for marked content (like search results)
. embed (finally a standard)
. video and audio
Elements
. Semantics!
   . section, article, aside, header, footer, nav
   . dialog (for conversations)
   . figure (grouping images & legend)


. better for disabled devices
 (handheld devices, search engines, ...)
. better for disabled users
Attributes
 . ping for links (no more redirects for tracking)
 . target is back
 . <ol> has start & reversed
 . <iframe> has seamless & sandbox
 . contenteditable (finally a standard!)
 . data-* (define your own attributes)
APIs
. API = a set of Javascript objects, methods, events
   . drag & drop
   . canvas (standardized)
   . back button management
   . cross-document messaging
   . notifications
   . listen for server-side DOM events
More APIs
. offline data with storage, client-side databases
 and application cache
. classList — access multiple classes with
 has(), add(), remove()   and toggle()
. getElementsByClassName()
 getSelection()
 hasFocus()
 document.activeElement
 innerHTML   (standardized)
 ...
Case I: offline data
 . sessionStorage
    . temporary key/value pairs
    . one session per tab/window
    . replace cookies for session tracking
    . extensive Javascript methods & events
Case I: offline data
 . localStorage
     . like sessionStorage, but
     . persistent
     . global
Case I: offline data
 . client-side databases
    . SQLite — lots of structured, relational data
    . asynchronous
    . callback based
    . fast
Case I: offline data
 . application cache
    . store entire apps offline — HTML, JS, CSS,
     images, etc.
    . atomic updating
    . you tell the browser what’s new and what not
     in a manifest file
Case I: offline data
 . bringing it all together: standalone web apps
    . site-specific browser
    . custom app name & icon
    . online & offline
    . available in Safari 4
Case II: video & audio
 . standardized way of embedding media
 . fallback when not supported
 . multiple streams in one element
 . full Javascript API: controls, errors, networkState,
   readyState, events, ...
 . attributes for controls, poster, autoplay, ...
Case II: video & audio
example:

 <video src=clip.ogg controls>
     <source type=video/mp4 src=clip.mp4>
     <source type=video/ogg src=clip.ogg>
     Download the <a href=clip.ogg>clip</a>.
 </video>
Case II: video & audio
 . Formats?
    . discussion still open
      (Apple & Nokia vs. Mozilla & Opera)
    . quot;there are no known codecs that satisfy all the
      current playersquot;
    . probably no 'single' standard
Web Applications 1.0
 . a whole bunch of new elements, attributes and
  APIs for web apps
 . super useful!
HTML 5
Part IV – When?
When will HTML 5 be finished?




2022
                                                                *




 * includes two complete specifications & complete test suite
It’s the future!
When?

2022 — 4 reasons you shouldn't care:
 . 2012 is the year of the apocalypse
 . HTML 4 hasn't even reached the status they want
   to achieve with HTML 5
 . W3C: spec with interoperable implementations
   in late 2010, and widespread adoption in 2012
 . Because you can start today
Already (partially) implemented
 . canvas
 . contentEditable
 . getElementsByClassName
 . offline storage
 . video & audio
 . Web Forms 2.0
 . Cross-document messaging
 . ...
Browser implementations
. Opera & Webkit lead the pack
. Mozilla is close
. IE8 is doing very well
. validators: still experimental, but finished soon
And there’s always emulation
 . Web Forms 2
  http://sourceforge.net/projects/wf2/
 . Canvas
  http://sourceforge.net/projects/excanvas/
 . ...
 . roll your own
HTML 5
That’s all folks!
.   http://www.whatwg.org

.   http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML_5)

.   http://wiki.whatwg.org/wiki/Implementations_in_Web_browsers

.   http://www.w3schools.com/tags/html5.asp

.   validators: http://qa-dev.w3.org/wmvs/HEAD/ & http://html5.validator.nu




Read on at http://lensco.be

More Related Content

What's hot

Boston Computing Review - Java Server Pages
Boston Computing Review - Java Server PagesBoston Computing Review - Java Server Pages
Boston Computing Review - Java Server PagesJohn Brunswick
 
API Technical Writing
API Technical WritingAPI Technical Writing
API Technical WritingSarah Maddox
 
Architecture | Busy Java Developers Guide to NoSQL | Ted Neward
Architecture | Busy Java Developers Guide to NoSQL | Ted NewardArchitecture | Busy Java Developers Guide to NoSQL | Ted Neward
Architecture | Busy Java Developers Guide to NoSQL | Ted NewardJAX London
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax ApplicationsJulien Lecomte
 
Jumpstart Django
Jumpstart DjangoJumpstart Django
Jumpstart Djangoryates
 
Joomla security nuggets
Joomla security nuggetsJoomla security nuggets
Joomla security nuggetsguestbd1cdca
 
An Introduction to HTML5
An Introduction to HTML5An Introduction to HTML5
An Introduction to HTML5Steven Chipman
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
Basics of css and xhtml
Basics of css and xhtmlBasics of css and xhtml
Basics of css and xhtmlsagaroceanic11
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5Robert Nyman
 
The Django Web Application Framework
The Django Web Application FrameworkThe Django Web Application Framework
The Django Web Application FrameworkSimon Willison
 
HTML5: features with examples
HTML5: features with examplesHTML5: features with examples
HTML5: features with examplesAlfredo Torre
 
Android | Busy Java Developers Guide to Android: UI | Ted Neward
Android | Busy Java Developers Guide to Android: UI | Ted NewardAndroid | Busy Java Developers Guide to Android: UI | Ted Neward
Android | Busy Java Developers Guide to Android: UI | Ted NewardJAX London
 
Getting Started with HTML5 in Tech Com (STC 2012)
Getting Started with HTML5 in Tech Com (STC 2012)Getting Started with HTML5 in Tech Com (STC 2012)
Getting Started with HTML5 in Tech Com (STC 2012)Peter Lubbers
 

What's hot (19)

Ant User Guide
Ant User GuideAnt User Guide
Ant User Guide
 
Xhtml 2010
Xhtml 2010Xhtml 2010
Xhtml 2010
 
Boston Computing Review - Java Server Pages
Boston Computing Review - Java Server PagesBoston Computing Review - Java Server Pages
Boston Computing Review - Java Server Pages
 
API Technical Writing
API Technical WritingAPI Technical Writing
API Technical Writing
 
Architecture | Busy Java Developers Guide to NoSQL | Ted Neward
Architecture | Busy Java Developers Guide to NoSQL | Ted NewardArchitecture | Busy Java Developers Guide to NoSQL | Ted Neward
Architecture | Busy Java Developers Guide to NoSQL | Ted Neward
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
 
Jumpstart Django
Jumpstart DjangoJumpstart Django
Jumpstart Django
 
Joomla security nuggets
Joomla security nuggetsJoomla security nuggets
Joomla security nuggets
 
An Introduction to HTML5
An Introduction to HTML5An Introduction to HTML5
An Introduction to HTML5
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
Basics of css and xhtml
Basics of css and xhtmlBasics of css and xhtml
Basics of css and xhtml
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5
 
The Django Web Application Framework
The Django Web Application FrameworkThe Django Web Application Framework
The Django Web Application Framework
 
HTML5: features with examples
HTML5: features with examplesHTML5: features with examples
HTML5: features with examples
 
Jsp
JspJsp
Jsp
 
New Browsers
New BrowsersNew Browsers
New Browsers
 
HTML literals, the JSX of the platform
HTML literals, the JSX of the platformHTML literals, the JSX of the platform
HTML literals, the JSX of the platform
 
Android | Busy Java Developers Guide to Android: UI | Ted Neward
Android | Busy Java Developers Guide to Android: UI | Ted NewardAndroid | Busy Java Developers Guide to Android: UI | Ted Neward
Android | Busy Java Developers Guide to Android: UI | Ted Neward
 
Getting Started with HTML5 in Tech Com (STC 2012)
Getting Started with HTML5 in Tech Com (STC 2012)Getting Started with HTML5 in Tech Com (STC 2012)
Getting Started with HTML5 in Tech Com (STC 2012)
 

Viewers also liked

Intro to html5 Boilerplate
Intro to html5 BoilerplateIntro to html5 Boilerplate
Intro to html5 BoilerplateMichael Enslow
 
Système de gestion de tickets
Système de gestion de ticketsSystème de gestion de tickets
Système de gestion de ticketsraymen87
 
Les Applications CRM mobile Tunisie Telecom Pour BlackBerry
Les Applications CRM mobile Tunisie Telecom Pour BlackBerryLes Applications CRM mobile Tunisie Telecom Pour BlackBerry
Les Applications CRM mobile Tunisie Telecom Pour BlackBerrytunisieblackberry
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
HTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsHTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsSun Technlogies
 
Cascading Style Sheets - CSS
Cascading Style Sheets - CSSCascading Style Sheets - CSS
Cascading Style Sheets - CSSSun Technlogies
 
Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...
Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...
Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...Santé des trans
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...Hajer Dahech
 
Html / CSS Presentation
Html / CSS PresentationHtml / CSS Presentation
Html / CSS PresentationShawn Calvert
 

Viewers also liked (15)

Intro to html5 Boilerplate
Intro to html5 BoilerplateIntro to html5 Boilerplate
Intro to html5 Boilerplate
 
Jsp
JspJsp
Jsp
 
Système de gestion de tickets
Système de gestion de ticketsSystème de gestion de tickets
Système de gestion de tickets
 
Arşivlik Fotoğraflar
Arşivlik FotoğraflarArşivlik Fotoğraflar
Arşivlik Fotoğraflar
 
Les Applications CRM mobile Tunisie Telecom Pour BlackBerry
Les Applications CRM mobile Tunisie Telecom Pour BlackBerryLes Applications CRM mobile Tunisie Telecom Pour BlackBerry
Les Applications CRM mobile Tunisie Telecom Pour BlackBerry
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
HTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsHTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts Basics
 
Cascading Style Sheets - CSS
Cascading Style Sheets - CSSCascading Style Sheets - CSS
Cascading Style Sheets - CSS
 
Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...
Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...
Rencontre du CRIPS / Act Up-Paris "Personnes trans : quels enjeux de santé ?"...
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
Up to Speed on HTML 5 and CSS 3
Up to Speed on HTML 5 and CSS 3Up to Speed on HTML 5 and CSS 3
Up to Speed on HTML 5 and CSS 3
 
Html Ppt
Html PptHtml Ppt
Html Ppt
 
HTML CSS Basics
HTML CSS BasicsHTML CSS Basics
HTML CSS Basics
 
Html / CSS Presentation
Html / CSS PresentationHtml / CSS Presentation
Html / CSS Presentation
 

Similar to HTML 5 In a Big Nutshell

Is it time to start using HTML 5
Is it time to start using HTML 5Is it time to start using HTML 5
Is it time to start using HTML 5Ravi Raj
 
HTML5 introduction for beginners
HTML5 introduction for beginnersHTML5 introduction for beginners
HTML5 introduction for beginnersVineeth N Krishnan
 
Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Estelle Weyl
 
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5Christian Heindel
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareHTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareRomin Irani
 
Thadomal IEEE-HTML5-Workshop
Thadomal IEEE-HTML5-WorkshopThadomal IEEE-HTML5-Workshop
Thadomal IEEE-HTML5-WorkshopRomin Irani
 
HTML5 Introduction
HTML5 IntroductionHTML5 Introduction
HTML5 Introductionbeforeach
 
The current status of html5 technology and standard
The current status of html5 technology and standardThe current status of html5 technology and standard
The current status of html5 technology and standardWonsuk Lee
 
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
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5dynamis
 
Html5 deciphered - designing concepts part 1
Html5 deciphered - designing concepts part 1Html5 deciphered - designing concepts part 1
Html5 deciphered - designing concepts part 1Paxcel Technologies
 
Change by HTML5
Change by HTML5Change by HTML5
Change by HTML5dynamis
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User ExperienceMahbubur Rahman
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるSadaaki HIRAI
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009Christopher Judd
 

Similar to HTML 5 In a Big Nutshell (20)

Is it time to start using HTML 5
Is it time to start using HTML 5Is it time to start using HTML 5
Is it time to start using HTML 5
 
HTML5 introduction for beginners
HTML5 introduction for beginnersHTML5 introduction for beginners
HTML5 introduction for beginners
 
Html5
Html5Html5
Html5
 
Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0
 
HTML5 and Joomla! 2.5 Template
HTML5 and Joomla! 2.5 TemplateHTML5 and Joomla! 2.5 Template
HTML5 and Joomla! 2.5 Template
 
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
 
HTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm SoftwareHTML5 Webinar - Mind Storm Software
HTML5 Webinar - Mind Storm Software
 
Thadomal IEEE-HTML5-Workshop
Thadomal IEEE-HTML5-WorkshopThadomal IEEE-HTML5-Workshop
Thadomal IEEE-HTML5-Workshop
 
HTML5 Introduction
HTML5 IntroductionHTML5 Introduction
HTML5 Introduction
 
The current status of html5 technology and standard
The current status of html5 technology and standardThe current status of html5 technology and standard
The current status of html5 technology and standard
 
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
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5
 
Html5 deciphered - designing concepts part 1
Html5 deciphered - designing concepts part 1Html5 deciphered - designing concepts part 1
Html5 deciphered - designing concepts part 1
 
Html5
Html5Html5
Html5
 
Change by HTML5
Change by HTML5Change by HTML5
Change by HTML5
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
HTML5 for Rich User Experience
HTML5 for Rich User ExperienceHTML5 for Rich User Experience
HTML5 for Rich User Experience
 
Html5
Html5Html5
Html5
 
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるIt is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009
 

More from Lennart Schoors

Data, taste & confidence
Data, taste & confidenceData, taste & confidence
Data, taste & confidenceLennart Schoors
 
Web design for right-to-left languages
Web design for right-to-left languagesWeb design for right-to-left languages
Web design for right-to-left languagesLennart Schoors
 
Managing CSS for a big ass website - at Netlog
Managing CSS for a big ass website - at NetlogManaging CSS for a big ass website - at Netlog
Managing CSS for a big ass website - at NetlogLennart Schoors
 
To Hell with Web Safe Fonts
To Hell with Web Safe FontsTo Hell with Web Safe Fonts
To Hell with Web Safe FontsLennart Schoors
 

More from Lennart Schoors (6)

Data, taste & confidence
Data, taste & confidenceData, taste & confidence
Data, taste & confidence
 
Look ma! No images!
Look ma! No images!Look ma! No images!
Look ma! No images!
 
HTML5 data attributes
HTML5 data attributes HTML5 data attributes
HTML5 data attributes
 
Web design for right-to-left languages
Web design for right-to-left languagesWeb design for right-to-left languages
Web design for right-to-left languages
 
Managing CSS for a big ass website - at Netlog
Managing CSS for a big ass website - at NetlogManaging CSS for a big ass website - at Netlog
Managing CSS for a big ass website - at Netlog
 
To Hell with Web Safe Fonts
To Hell with Web Safe FontsTo Hell with Web Safe Fonts
To Hell with Web Safe Fonts
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
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
 
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
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
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
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
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
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

HTML 5 In a Big Nutshell

  • 1. HTML 5 In a big nutshell. Lennart Schoors
  • 2. Me . lead web designer at Netlog http://www.netlog.com . blog at http://lensco.be
  • 3. HTML 5 . Introduction . Web Forms 2.0 . Web Applications 1.0 . When?
  • 4. HTML 5 Part I – Introduction
  • 5. Background . WHATWG . founded in 2004 . reaction against the road the W3C was taking . XHTML was no failure, but XML part never really took off . renewed focus on HTML and real-world issues . “evolving instead of reinventing”
  • 6. Background . 2007: WHATWG joins forces with W3C . HTML WG . both groups now work on the HTML 5 spec . all parties are now involved . anyone can contribute! . First Public Working Draft: January 22, 2008
  • 7. Syntax example – XHTML 1 strict: <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML 1.0 Strict//ENquot; quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdquot;> <html xmlns=quot;http://www.w3.org/1999/xhtmlquot;> <head> <meta http-equiv=quot;Content-Typequot; content=quot;text/html; charset=utf-8quot;>
  • 8. Syntax HTML 5: <!doctype html> <html> <head> <meta charset=quot;utf-8quot;>
  • 9. Syntax XHTML taught us: . lowercase tags! . close void elements! (img, meta, input, ...) . no empty attributes! (disabled=”disabled”) . always put attribute values in double quotes!
  • 10. Syntax HTML 5 says: you choose.
  • 11.
  • 12. Syntax . Tag soup? No! . small degree of freedom, but very detailed rules for parsing . validation will matter . keep a clean coding style, you’ll thank yourself for it later
  • 13. Syntax . HTML 5 is designed so that old HTML 4 browsers can safely ignore new HTML 5 constructs . “Documents must not use deprecated features. User agents should support deprecated features.” . extensive error handling by UAs
  • 14. What’s gone Say bye bye to: . frames . acronym, basefont, big, center, font, s, strike, tt, u . language attribute on script . loads of presentational attributes: cellpadding, cellspacing, width & height on tables & cells, align & valign, clear, size on inputs, ...
  • 16. HTML 5 Part II – Web Forms 2.0
  • 17. Web Forms 2.0 . set of elements, attributes & input types . complete repetition model for forms with recurring fields (adding, removing and moving blocks) . better solutions for combo-boxes & auto-completion — like search suggestions (list attribute, datalist & select elements)
  • 18. Input types . date & time (single or range) . email & url . color picker . user agent can provide the user interface — integrated with native tools . client-side validation
  • 19. Input types <input type=”date”> in Opera:
  • 20. Attributes . required, placeholder, autofocus, autocomplete, inputmode . validation with pattern attribute (using regular expressions) . min, max (number of files for multi-file uploads) . a <fieldset> can be entirely disabled . form (assign form elements to multiple forms)
  • 21. Web Forms 2.0 . standardization of input methods . a lot less Javascript and server-side work . super useful!
  • 22. HTML 5 Part III – Web Applications 1.0
  • 23. Web Applications 1.0 . set of elements, attributes & APIs . because it’s not 1998 anymore . the web is no longer a collection of static pages
  • 24. Elements . meter, progress, output, time . m for marked content (like search results) . embed (finally a standard) . video and audio
  • 25. Elements . Semantics! . section, article, aside, header, footer, nav . dialog (for conversations) . figure (grouping images & legend) . better for disabled devices (handheld devices, search engines, ...) . better for disabled users
  • 26. Attributes . ping for links (no more redirects for tracking) . target is back . <ol> has start & reversed . <iframe> has seamless & sandbox . contenteditable (finally a standard!) . data-* (define your own attributes)
  • 27. APIs . API = a set of Javascript objects, methods, events . drag & drop . canvas (standardized) . back button management . cross-document messaging . notifications . listen for server-side DOM events
  • 28. More APIs . offline data with storage, client-side databases and application cache . classList — access multiple classes with has(), add(), remove() and toggle() . getElementsByClassName() getSelection() hasFocus() document.activeElement innerHTML (standardized) ...
  • 29. Case I: offline data . sessionStorage . temporary key/value pairs . one session per tab/window . replace cookies for session tracking . extensive Javascript methods & events
  • 30. Case I: offline data . localStorage . like sessionStorage, but . persistent . global
  • 31. Case I: offline data . client-side databases . SQLite — lots of structured, relational data . asynchronous . callback based . fast
  • 32. Case I: offline data . application cache . store entire apps offline — HTML, JS, CSS, images, etc. . atomic updating . you tell the browser what’s new and what not in a manifest file
  • 33. Case I: offline data . bringing it all together: standalone web apps . site-specific browser . custom app name & icon . online & offline . available in Safari 4
  • 34. Case II: video & audio . standardized way of embedding media . fallback when not supported . multiple streams in one element . full Javascript API: controls, errors, networkState, readyState, events, ... . attributes for controls, poster, autoplay, ...
  • 35. Case II: video & audio example: <video src=clip.ogg controls> <source type=video/mp4 src=clip.mp4> <source type=video/ogg src=clip.ogg> Download the <a href=clip.ogg>clip</a>. </video>
  • 36. Case II: video & audio . Formats? . discussion still open (Apple & Nokia vs. Mozilla & Opera) . quot;there are no known codecs that satisfy all the current playersquot; . probably no 'single' standard
  • 37. Web Applications 1.0 . a whole bunch of new elements, attributes and APIs for web apps . super useful!
  • 38. HTML 5 Part IV – When?
  • 39. When will HTML 5 be finished? 2022 * * includes two complete specifications & complete test suite
  • 41. When? 2022 — 4 reasons you shouldn't care: . 2012 is the year of the apocalypse . HTML 4 hasn't even reached the status they want to achieve with HTML 5 . W3C: spec with interoperable implementations in late 2010, and widespread adoption in 2012 . Because you can start today
  • 42. Already (partially) implemented . canvas . contentEditable . getElementsByClassName . offline storage . video & audio . Web Forms 2.0 . Cross-document messaging . ...
  • 43. Browser implementations . Opera & Webkit lead the pack . Mozilla is close . IE8 is doing very well . validators: still experimental, but finished soon
  • 44. And there’s always emulation . Web Forms 2 http://sourceforge.net/projects/wf2/ . Canvas http://sourceforge.net/projects/excanvas/ . ... . roll your own
  • 45. HTML 5 That’s all folks! . http://www.whatwg.org . http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML_5) . http://wiki.whatwg.org/wiki/Implementations_in_Web_browsers . http://www.w3schools.com/tags/html5.asp . validators: http://qa-dev.w3.org/wmvs/HEAD/ & http://html5.validator.nu Read on at http://lensco.be