SlideShare une entreprise Scribd logo
1  sur  77
DEMYSTIFYING
HTML5
SERGEJUS BARINOVAS
ARCHITECT, ADFORM
AGENDA
• The history of HTML5
• What’s new in HTML5
• HTML5 vs. Silverlight & Flash
• Next steps
MY HTML5 BACKGROUND
• Interest in HTML5 for ~1 year
• HTML5 workshop in Las Vegas
• Advertising is dependent on Flash
(doesn’t work with iOS devices)
DISCLAIMER
This is not about
THE HISTORY OF
HTML5
HTML QUIZ
What language HTML
is based on?
HTML QUIZ ANSWER
SGML
HTML5 QUIZ
What is HTML5?
HTML5 QUIZ ANSWER
• HTML (HTML5, SVG1.1)
• CSS (CSS3)
• JavaScript API
A BIT OF HISTORY
HTML XHTML
• 1998 XML 1.0
• 1999 HTML 4.01
• 2000 XHTML 1.0
• Reformulate HTML in XML without
adding any new elements or attributes
• First draft of XForms 1.0
XHTML – THE TRUTH
Who is developing
XHTML web sites?
XHTML – THE TRUTH
You are (probably) lying!
XHTML – THE TRUTH
Everything you know
about XHTML is wrong
XHTML – THE TRUTH
• HTML 4.01
• HTML 4.01 DOCTYPE
• MIME type – text/html
• Browsers forgive malformed HTML
• XHTML 1.0
• XHTML 1.0 DOCTYPE
• MIME type – application/xhtml+xml
• Browsers fail on the first error
(draconian error handling)
XHTML – THE TRUTH
XHTML – forget about
existing (99%) web sites!
XHTML – THE TRUTH
Thousands of web developers upgraded to
XHTML syntax and DOCTYPE but kept
serving it with a text/html MIME type
XHTML – THE TRUTH
This is not an XHTML!
A-HA MOMENT
We need to move on
supporting interop!
THE FUTURE OF HTML
June 2004, W3C Workshop
An evolution of the existing HTML 4 standard to include
new features for modern web application developer
THE FUTURE OF HTML
7 PRINCIPLES
• Backwards compatibility, clear migration path
• Well-defined error handling
• Users should not be exposed to authoring errors
• Practical use
• Scripting is here to stay
• Device-specific profiling should be avoided
• Open process
THE FUTURE OF HTML
THE POLL
Should the W3C develop declarative
extension to HTML and CSS and
imperative extensions to DOM?
THE FUTURE OF HTML
THE SPLIT
• W3C
• XHTML 2.0
• WHAT Working Group
• Documenting the forgiving error-handling
algorithms that browsers actually used
• XForms 2.0
• <canvas>
• <audio> and <video>
THE FUTURE OF HTML
THE REUNION
October 2006, Tim Berners-Lee
announced that the W3C would work together with the
WHAT Working Group to evolve HTML
THE FUTURE OF HTML
FIRST DRAFT
January 2008, HTML5 Draft
The first time ever all 5 major browser
vendors collaborate together
THE FUTURE OF HTML
CURRENT SITUATION
WHAT’S NEW IN
HTML5
JAVASCRIPT API
WHAT’S NEW –
JAVASCRIPT API
• New Selectors
• Web Workers*
• Web Sockets*
• Web Storage
• Offline Apps*
• Geolocation
WHAT’S NEW – JS API
NEW SELECTORS
• DOM API
var els = document.getElementsByClassName('section');
els[0].focus();
• Selector API
var els = document.querySelectorAll('ul li:nth-child(odd)');
WHAT’S NEW – JS API
WEB WORKERS
• Independent JavaScript threading
main.js:
var worker = new Worker('increment.js');
worker.postMessage(2);
worker.onmessage = function(event) { alert(event.data); };
increment.js:
self.onmessage = function(event) {
var result = event.data + 1;
self.postMessage(result);
}
WHAT’S NEW – JS API
WEB SOCKETS
• Bi-directional full-duplex communication
var socket = new WebSocket(location);
socket.onopen = function(event) {
socket.postMessage('Hello, WebSocket');
}
socket.onmessage = function(event) { alert(event.data); }
socket.onclose = function(event) { alert('closed'); }
WHAT’S NEW – JS API
WEB STORAGE
• Local Storage
var item = document.localStorage.setItem('key','value');
• Session Storage
var item = document.sessionStorage.getItem('value');
• IndexedDB
var db = indexedDB.open('books', 'Books');
db.createIndex('BookTitle', 'books', 'title');
var index = db.index('BookTitle');
var result = index.get('HTML5');
WHAT’S NEW – JS API
OFFLINE APPS
• Application Cache
<html manifest="offline.manifest">
CACHE MANIFEST
styles.css
jquery-1.4.min.js
index.html
• Offline / Online Events
window.addEventListener("online",function() {alert('on')});
window.addEventListener("offline",function() {alert('off')});
WHAT’S NEW – JS API
GEOLOCATION
• Geolocation API
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(pos) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
alert(lat + ':' + lng);
});
}
WHAT’S NEW IN
HTML5
CSS3
WHAT’S NEW – CSS3
• Selectors
• Border Radius
• Backgrounds
• Color & Opacity
• Shadows
• 2D Transforms
• WOFF Fonts
WHAT’S NEW – CSS3
SELECTORS
• Selectors
.row:nth-child(even) { background: #dde; }
• Specific attributes
input[type="text"] {background: #eee; }
• Negation
:not(span) { display: block; }
• Selection
::selection { background: #c00; }
WHAT’S NEW – CSS3
BORDER RADIUS
border-radius: 20px 10px;
border-top-left-radius: 20px 10px;
border-top-right-radius: 10px 25px;
border-bottom-right-radius: 5px 10px;
border-bottom-left-radius: 15px 25px;
WHAT’S NEW – CSS3
BACKGROUNDS
• Multiple backgrounds
div {
background-image: url(bg1.png), url(bg2.png);
background-position: center center, 20% 80%, top left;
}
• SVG in CSS backgrounds
body { background-image: url("marble.svg") }
WHAT’S NEW – CSS3
COLOR & OPACITY
• RGB / RGBA
div.demo1 { background: rgba(60, 80, 100, 0.25); }
• HSL / HSLA
div.demo2 { background: hsla(320, 100%, 25%, 0.4); }
• Opacity
div.demo3 { background:#036; opacity:0.2; }
WHAT’S NEW – CSS3
SHADOWS
• Box Shadow
div { box-shadow: 5px 5px 7px #888; }
• Text Shadow
span { text-shadow: 2px 2px 7px #111; }
WHAT’S NEW – CSS3
2D TRANSFORMS
div {
transform: scale(0.75)
rotate(0deg)
translate(0px, 0px)
skew(0deg, 0deg);
transform-origin: 0% 0%;
}
WHAT’S NEW – CSS3
WOFF FONTS
• Font Linking
@font-face {
font-family: Whimsy;
src: url('fonts/Whimsy.woff');
}
WHAT’S NEW IN
HTML5
HTML5
WHAT’S NEW – HTML5
SIMPLER MARKUP
HTML5 is simpler
WHAT’S NEW – HTML5
SIMPLER MARKUP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Sergejus apie .NET</title>
<link rel="stylesheet" href="http://sergejus.blogas.lt/wp-
content/themes/webby-green-10/style.css" type="text/css" />
<link rel="alternate" type="application/rss+xml"
title="Sergejus apie .NET RSS Feed"
href="http://sergejus.blogas.lt/feed" />
WHAT’S NEW – HTML5
SIMPLER MARKUP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Sergejus apie .NET</title>
<link rel="stylesheet" href="http://sergejus.blogas.lt/wp-
content/themes/webby-green-10/style.css" type="text/css" />
<link rel="alternate" type="application/rss+xml"
title="Sergejus apie .NET RSS Feed"
href="http://sergejus.blogas.lt/feed" />
WHAT’S NEW – HTML5
SIMPLER MARKUP
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Sergejus apie .NET</title>
<link rel="stylesheet" href="http://sergejus.blogas.lt/wp-
content/themes/webby-green-10/style.css" type="text/css" />
<link rel="alternate" type="application/rss+xml"
title="Sergejus apie .NET RSS Feed"
href="http://sergejus.blogas.lt/feed" />
WHAT’S NEW – HTML5
SIMPLER MARKUP
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Sergejus apie .NET</title>
<link rel="stylesheet" href="http://sergejus.blogas.lt/wp-
content/themes/webby-green-10/style.css" type="text/css" />
<link rel="alternate" type="application/rss+xml"
title="Sergejus apie .NET RSS Feed"
href="http://sergejus.blogas.lt/feed" />
WHAT’S NEW – HTML5
SIMPLER MARKUP
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Sergejus apie .NET</title>
<link rel="stylesheet" href="http://sergejus.blogas.lt/wp-
content/themes/webby-green-10/style.css" type="text/css" />
<link rel="alternate" type="application/rss+xml"
title="Sergejus apie .NET RSS Feed"
href="http://sergejus.blogas.lt/feed" />
WHAT’S NEW – HTML5
SIMPLER MARKUP
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Sergejus apie .NET</title>
<link rel="stylesheet" href="http://sergejus.blogas.lt/wp-
content/themes/webby-green-10/style.css" />
<link rel="alternate" type="application/rss+xml"
title="Sergejus apie .NET RSS Feed"
href="http://sergejus.blogas.lt/feed" />
WHAT’S NEW – HTML5
ELEMENTS
HTML5 is more semantic
WHAT’S NEW – HTML5
ELEMENTS
• <section>
• <nav>
• <article>
• <header>
• <footer>
• <aside>
• <figure>
• and more…
WHAT’S NEW – HTML5
ELEMENTS
WHAT’S NEW – HTML5
ELEMENTS
WHAT’S NEW – HTML5
WEB FORMS 2.0
HTML5 is for Web Apps
WHAT’S NEW – HTML5
WEB FORMS 2.0
• <input type="text" required autofocus />
• <input type="email" value="some@email.com" />
• <input type="date" min="2009-11-22" max="2011-11-22"
value="2010-11-22"/>
• <input type="range" min="0" max="50" value="10" />
• <input type="search" results="10"
placeholder="Search..." />
• <input type="tel" placeholder="(370) 678-00000"
pattern="^(?d{3})?[-s]d{3}[-s]d{5}.*?$" />
• <input type="color" placeholder="e.g. #bbbbbb" />
• <input type="number" step="1" min="-5" max="10"
value="0" />
WHAT’S NEW – HTML5
AUDIO/VIDEO
HTML5 is richer
WHAT’S NEW – HTML5
AUDIO/VIDEO
• Audio
<audio id="audio" src="sound.mp3" controls />
document.getElementById("audio").muted = false;
• Video
<video id="video" src="movie.webm" autoplay controls />
document.getElementById("video").play();
WHAT’S NEW – HTML5
AUDIO/VIDEO
• Container / Video + Audio Codecs
• MP4 / H.264 + AAC
• Ogg / Theora + Vorbis
• WebM
WHAT’S NEW – HTML5
CANVAS
• Simple Shapes
• Paths
• Text
• Gradients
• Images
WHAT’S NEW – HTML5
CANVAS
<canvas id="canvas" width="838" height="220" />
<script>
var canvasContext = document.getElementById("canvas")
.getContext("2d");
canvasContext.fillRect(250, 25, 150, 100);
canvasContext.beginPath();
canvasContext.arc(450, 110, 100, Math.PI*1/2, Math.PI*3/2);
canvasContext.lineWidth = 15;
canvasContext.lineCap = 'round';
canvasContext.strokeStyle = 'rgba(255, 127, 0, 0.5)';
canvasContext.stroke();
</script>
WHAT’S NEW – HTML5
SVG
<svg xmlns="http://www.w3.org/2000/svg">
<style type="text/css">
circle:hover {fill-opacity:0.9;}
</style>
<g style="fill-opacity:0.7;">
<circle cx="6cm" cy="2cm" r="100" style="fill:red; stroke:black;
stroke-width:0.1cm" transform="translate(0,50)" />
<circle cx="6cm" cy="2cm" r="100" style="fill:blue; stroke:black;
stroke-width:0.1cm" transform="translate(70,150)" />
<circle cx="6cm" cy="2cm" r="100" style="fill:green; stroke:black;
stroke-width:0.1cm" transform="translate(-70,150)"/>
</g>
</svg>
HTML5 VS.
FLASH & SILVERLIGHT
HTML5 VS.
FLASH & SILVERLIGHT
HTML5 is the future
of Open Web
HTML5 VS.
FLASH & SILVERLIGHT
HTML5 is not ready
for main stream yet
HTML5 DRAWBACKS
• Draft version of specification
• No standardized audio / video
containers and codecs
• Poor video / graphics performance
• Lack of professional HTML5 tools
HTML5 VS.
FLASH & SILVERLIGHT
• Flash & Silverlight will stay for
• Enhanced video streaming
• Digital rights management (DRM)
• Complex RIAs
ADOBE AND HTML5
• Working hard on HTML5 support
• HTML5 video player with fallback to Flash
• Export images as SVG and Canvas from
Illustrator and Photoshop
• Convert Flash to HTML5
MICROSOFT AND HTML5
• Big focus on HTML5 and standards
• HTML5 is the only true cross platform solution
for everything, including (Apple’s) iOS platform.
Bob Muglia, PDC2010
• Silverlight remains top platform for
• Mobile
• Desktop applications
• Video / audio streaming
NEXT STEPS
NEXT STEPS
HTML5 is not
all or nothing
NEXT STEPS
HTML5 is foward
compatible!
NEXT STEPS
You can start using it
right now!
NEXT STEPS
• Read http://diveintohtml5.org
• Modernizr.js – detects HTML5 support
• ASP.NET MVC HTML5 helpers
• Leverage <video> with fallback to
Silverlight or Flash
• Leverage <canvas> and <svg> with
fallback to image
NEXT STEPS
Have fun and be creative!
Q & A
THANKS!
sergejus.blogas.lt, @sergejusb

Contenu connexe

Tendances

Thats Not Flash?
Thats Not Flash?Thats Not Flash?
Thats Not Flash?Mike Wilcox
 
Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS drupalcampest
 
A High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf HamburgA High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf HamburgDr. Arif Wider
 
Microsoft AZ-900 Dumps Questions
Microsoft AZ-900 Dumps QuestionsMicrosoft AZ-900 Dumps Questions
Microsoft AZ-900 Dumps QuestionsBraindumps4IT
 
An Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionAn Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionDr. Arif Wider
 
DotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + reactDotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + reactChen-Tien Tsai
 
Production optimization with React and Webpack
Production optimization with React and WebpackProduction optimization with React and Webpack
Production optimization with React and Webpackk88hudson
 
End to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeEnd to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeAlexandre Morgaut
 
MEAN Stack
MEAN StackMEAN Stack
MEAN StackDotitude
 
Building an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stackBuilding an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stackdivyapisces
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)Jia Mi
 
Domino Security - not knowing is not an option (2016 edition)
Domino Security - not knowing is not an option (2016 edition)Domino Security - not knowing is not an option (2016 edition)
Domino Security - not knowing is not an option (2016 edition)Darren Duke
 
You know what iMEAN? Using MEAN stack for application dev on Informix
You know what iMEAN? Using MEAN stack for application dev on InformixYou know what iMEAN? Using MEAN stack for application dev on Informix
You know what iMEAN? Using MEAN stack for application dev on InformixKeshav Murthy
 
Bundling your front-end with Webpack
Bundling your front-end with WebpackBundling your front-end with Webpack
Bundling your front-end with WebpackDanillo Corvalan
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An OverviewNaveen Pete
 
Node.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash CourseNode.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash CourseAaron Silverman
 
HTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the WebHTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the WebPeter Lubbers
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture AppDynamics
 
Data presentation with dust js technologies backing linkedin
Data presentation with dust js   technologies backing linkedinData presentation with dust js   technologies backing linkedin
Data presentation with dust js technologies backing linkedinRuhaim Izmeth
 

Tendances (20)

Thats Not Flash?
Thats Not Flash?Thats Not Flash?
Thats Not Flash?
 
Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS
 
A High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf HamburgA High-Performance Solution to Microservice UI Composition @ XConf Hamburg
A High-Performance Solution to Microservice UI Composition @ XConf Hamburg
 
Microsoft AZ-900 Dumps Questions
Microsoft AZ-900 Dumps QuestionsMicrosoft AZ-900 Dumps Questions
Microsoft AZ-900 Dumps Questions
 
An Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI CompositionAn Unexpected Solution to Microservices UI Composition
An Unexpected Solution to Microservices UI Composition
 
DotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + reactDotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + react
 
Production optimization with React and Webpack
Production optimization with React and WebpackProduction optimization with React and Webpack
Production optimization with React and Webpack
 
End to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeEnd to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) Europe
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Unsafe SSL webinar
Unsafe SSL webinarUnsafe SSL webinar
Unsafe SSL webinar
 
Building an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stackBuilding an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stack
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)
 
Domino Security - not knowing is not an option (2016 edition)
Domino Security - not knowing is not an option (2016 edition)Domino Security - not knowing is not an option (2016 edition)
Domino Security - not knowing is not an option (2016 edition)
 
You know what iMEAN? Using MEAN stack for application dev on Informix
You know what iMEAN? Using MEAN stack for application dev on InformixYou know what iMEAN? Using MEAN stack for application dev on Informix
You know what iMEAN? Using MEAN stack for application dev on Informix
 
Bundling your front-end with Webpack
Bundling your front-end with WebpackBundling your front-end with Webpack
Bundling your front-end with Webpack
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
 
Node.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash CourseNode.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash Course
 
HTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the WebHTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the Web
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture
 
Data presentation with dust js technologies backing linkedin
Data presentation with dust js   technologies backing linkedinData presentation with dust js   technologies backing linkedin
Data presentation with dust js technologies backing linkedin
 

Similaire à Demystifying HTML5

It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrMichael Enslow
 
WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)Shumpei Shiraishi
 
HTML5 History & Features
HTML5 History & FeaturesHTML5 History & Features
HTML5 History & FeaturesDave Ross
 
Ease into HTML5 and CSS3
Ease into HTML5 and CSS3Ease into HTML5 and CSS3
Ease into HTML5 and CSS3Brian Moon
 
Introduction to html 5
Introduction to html 5Introduction to html 5
Introduction to html 5Nir Elbaz
 
HTML5 어디까지 왔나?
HTML5 어디까지 왔나?HTML5 어디까지 왔나?
HTML5 어디까지 왔나?정현 황
 
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 20102012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 2010Chris O'Connor
 
Intro to Front-End Web Devlopment
Intro to Front-End Web DevlopmentIntro to Front-End Web Devlopment
Intro to Front-End Web Devlopmentdamonras
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 
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
 
5 ways to embrace HTML5 today
5 ways to embrace HTML5 today5 ways to embrace HTML5 today
5 ways to embrace HTML5 todayDaniel Ryan
 

Similaire à Demystifying HTML5 (20)

It's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking ModernizrIt's a Mod World - A Practical Guide to Rocking Modernizr
It's a Mod World - A Practical Guide to Rocking Modernizr
 
Html5 public
Html5 publicHtml5 public
Html5 public
 
WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)
 
HTML 5 - Overview
HTML 5 - OverviewHTML 5 - Overview
HTML 5 - Overview
 
HTML 5
HTML 5HTML 5
HTML 5
 
HTML5 History & Features
HTML5 History & FeaturesHTML5 History & Features
HTML5 History & Features
 
Html5
Html5Html5
Html5
 
Ease into HTML5 and CSS3
Ease into HTML5 and CSS3Ease into HTML5 and CSS3
Ease into HTML5 and CSS3
 
WHAT IS HTML5?(20100510)
WHAT IS HTML5?(20100510)WHAT IS HTML5?(20100510)
WHAT IS HTML5?(20100510)
 
Introduction to html 5
Introduction to html 5Introduction to html 5
Introduction to html 5
 
HTML5 어디까지 왔나?
HTML5 어디까지 왔나?HTML5 어디까지 왔나?
HTML5 어디까지 왔나?
 
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 20102012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
 
Intro to Front-End Web Devlopment
Intro to Front-End Web DevlopmentIntro to Front-End Web Devlopment
Intro to Front-End Web Devlopment
 
Looking into HTML5 + CSS3
Looking into HTML5 + CSS3Looking into HTML5 + CSS3
Looking into HTML5 + CSS3
 
Html5 - Novas Tags na Prática!
Html5 - Novas Tags na Prática!Html5 - Novas Tags na Prática!
Html5 - Novas Tags na Prática!
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
[In Control 2010] HTML5
[In Control 2010] HTML5[In Control 2010] HTML5
[In Control 2010] HTML5
 
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
 
5 ways to embrace HTML5 today
5 ways to embrace HTML5 today5 ways to embrace HTML5 today
5 ways to embrace HTML5 today
 

Plus de Sergejus Barinovas

Bringing Developers to the Next Level
Bringing Developers to the Next LevelBringing Developers to the Next Level
Bringing Developers to the Next LevelSergejus Barinovas
 
True story of re architecting website for scale on windows azure
True story of re architecting website for scale on windows azureTrue story of re architecting website for scale on windows azure
True story of re architecting website for scale on windows azureSergejus Barinovas
 
Continuous Happiness by Continuous Delivery
Continuous Happiness by Continuous DeliveryContinuous Happiness by Continuous Delivery
Continuous Happiness by Continuous DeliverySergejus Barinovas
 
Windows Azure from practical point of view
Windows Azure from practical point of viewWindows Azure from practical point of view
Windows Azure from practical point of viewSergejus Barinovas
 
Flashback: QCon San Francisco 2012
Flashback: QCon San Francisco 2012Flashback: QCon San Francisco 2012
Flashback: QCon San Francisco 2012Sergejus Barinovas
 
Intro to Big Data using Hadoop
Intro to Big Data using Hadoop Intro to Big Data using Hadoop
Intro to Big Data using Hadoop Sergejus Barinovas
 
Optimizing ASP.NET application performance: tough but necessary
Optimizing ASP.NET application performance: tough but necessaryOptimizing ASP.NET application performance: tough but necessary
Optimizing ASP.NET application performance: tough but necessarySergejus Barinovas
 
Kaip Agile skatina gerųjų praktikų panaudojimą
Kaip Agile skatina gerųjų praktikų panaudojimąKaip Agile skatina gerųjų praktikų panaudojimą
Kaip Agile skatina gerųjų praktikų panaudojimąSergejus Barinovas
 
Introduction to Windows Azure Platform
Introduction to Windows Azure PlatformIntroduction to Windows Azure Platform
Introduction to Windows Azure PlatformSergejus Barinovas
 
Cloud Computing and Microsoft Azure Platform
Cloud Computing and Microsoft Azure PlatformCloud Computing and Microsoft Azure Platform
Cloud Computing and Microsoft Azure PlatformSergejus Barinovas
 

Plus de Sergejus Barinovas (13)

Bringing Developers to the Next Level
Bringing Developers to the Next LevelBringing Developers to the Next Level
Bringing Developers to the Next Level
 
True story of re architecting website for scale on windows azure
True story of re architecting website for scale on windows azureTrue story of re architecting website for scale on windows azure
True story of re architecting website for scale on windows azure
 
Continuous Happiness by Continuous Delivery
Continuous Happiness by Continuous DeliveryContinuous Happiness by Continuous Delivery
Continuous Happiness by Continuous Delivery
 
Windows Azure from practical point of view
Windows Azure from practical point of viewWindows Azure from practical point of view
Windows Azure from practical point of view
 
Flashback: QCon San Francisco 2012
Flashback: QCon San Francisco 2012Flashback: QCon San Francisco 2012
Flashback: QCon San Francisco 2012
 
Intro to Big Data using Hadoop
Intro to Big Data using Hadoop Intro to Big Data using Hadoop
Intro to Big Data using Hadoop
 
Optimizing ASP.NET application performance: tough but necessary
Optimizing ASP.NET application performance: tough but necessaryOptimizing ASP.NET application performance: tough but necessary
Optimizing ASP.NET application performance: tough but necessary
 
Release Often Release Safely
Release Often Release SafelyRelease Often Release Safely
Release Often Release Safely
 
Kaip Agile skatina gerųjų praktikų panaudojimą
Kaip Agile skatina gerųjų praktikų panaudojimąKaip Agile skatina gerųjų praktikų panaudojimą
Kaip Agile skatina gerųjų praktikų panaudojimą
 
Introduction to Windows Azure Platform
Introduction to Windows Azure PlatformIntroduction to Windows Azure Platform
Introduction to Windows Azure Platform
 
Web Scale with NoSQL
Web Scale with NoSQLWeb Scale with NoSQL
Web Scale with NoSQL
 
NoSQL - what's that
NoSQL - what's thatNoSQL - what's that
NoSQL - what's that
 
Cloud Computing and Microsoft Azure Platform
Cloud Computing and Microsoft Azure PlatformCloud Computing and Microsoft Azure Platform
Cloud Computing and Microsoft Azure Platform
 

Dernier

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
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Dernier (20)

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
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
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...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Demystifying HTML5

  • 2. AGENDA • The history of HTML5 • What’s new in HTML5 • HTML5 vs. Silverlight & Flash • Next steps
  • 3. MY HTML5 BACKGROUND • Interest in HTML5 for ~1 year • HTML5 workshop in Las Vegas • Advertising is dependent on Flash (doesn’t work with iOS devices)
  • 6. HTML QUIZ What language HTML is based on?
  • 9. HTML5 QUIZ ANSWER • HTML (HTML5, SVG1.1) • CSS (CSS3) • JavaScript API
  • 10. A BIT OF HISTORY
  • 11. HTML XHTML • 1998 XML 1.0 • 1999 HTML 4.01 • 2000 XHTML 1.0 • Reformulate HTML in XML without adding any new elements or attributes • First draft of XForms 1.0
  • 12. XHTML – THE TRUTH Who is developing XHTML web sites?
  • 13. XHTML – THE TRUTH You are (probably) lying!
  • 14. XHTML – THE TRUTH Everything you know about XHTML is wrong
  • 15. XHTML – THE TRUTH • HTML 4.01 • HTML 4.01 DOCTYPE • MIME type – text/html • Browsers forgive malformed HTML • XHTML 1.0 • XHTML 1.0 DOCTYPE • MIME type – application/xhtml+xml • Browsers fail on the first error (draconian error handling)
  • 16. XHTML – THE TRUTH XHTML – forget about existing (99%) web sites!
  • 17. XHTML – THE TRUTH Thousands of web developers upgraded to XHTML syntax and DOCTYPE but kept serving it with a text/html MIME type
  • 18. XHTML – THE TRUTH This is not an XHTML!
  • 19. A-HA MOMENT We need to move on supporting interop!
  • 20. THE FUTURE OF HTML June 2004, W3C Workshop An evolution of the existing HTML 4 standard to include new features for modern web application developer
  • 21. THE FUTURE OF HTML 7 PRINCIPLES • Backwards compatibility, clear migration path • Well-defined error handling • Users should not be exposed to authoring errors • Practical use • Scripting is here to stay • Device-specific profiling should be avoided • Open process
  • 22. THE FUTURE OF HTML THE POLL Should the W3C develop declarative extension to HTML and CSS and imperative extensions to DOM?
  • 23. THE FUTURE OF HTML THE SPLIT • W3C • XHTML 2.0 • WHAT Working Group • Documenting the forgiving error-handling algorithms that browsers actually used • XForms 2.0 • <canvas> • <audio> and <video>
  • 24. THE FUTURE OF HTML THE REUNION October 2006, Tim Berners-Lee announced that the W3C would work together with the WHAT Working Group to evolve HTML
  • 25. THE FUTURE OF HTML FIRST DRAFT January 2008, HTML5 Draft The first time ever all 5 major browser vendors collaborate together
  • 26. THE FUTURE OF HTML CURRENT SITUATION
  • 28. WHAT’S NEW – JAVASCRIPT API • New Selectors • Web Workers* • Web Sockets* • Web Storage • Offline Apps* • Geolocation
  • 29. WHAT’S NEW – JS API NEW SELECTORS • DOM API var els = document.getElementsByClassName('section'); els[0].focus(); • Selector API var els = document.querySelectorAll('ul li:nth-child(odd)');
  • 30. WHAT’S NEW – JS API WEB WORKERS • Independent JavaScript threading main.js: var worker = new Worker('increment.js'); worker.postMessage(2); worker.onmessage = function(event) { alert(event.data); }; increment.js: self.onmessage = function(event) { var result = event.data + 1; self.postMessage(result); }
  • 31. WHAT’S NEW – JS API WEB SOCKETS • Bi-directional full-duplex communication var socket = new WebSocket(location); socket.onopen = function(event) { socket.postMessage('Hello, WebSocket'); } socket.onmessage = function(event) { alert(event.data); } socket.onclose = function(event) { alert('closed'); }
  • 32. WHAT’S NEW – JS API WEB STORAGE • Local Storage var item = document.localStorage.setItem('key','value'); • Session Storage var item = document.sessionStorage.getItem('value'); • IndexedDB var db = indexedDB.open('books', 'Books'); db.createIndex('BookTitle', 'books', 'title'); var index = db.index('BookTitle'); var result = index.get('HTML5');
  • 33. WHAT’S NEW – JS API OFFLINE APPS • Application Cache <html manifest="offline.manifest"> CACHE MANIFEST styles.css jquery-1.4.min.js index.html • Offline / Online Events window.addEventListener("online",function() {alert('on')}); window.addEventListener("offline",function() {alert('off')});
  • 34. WHAT’S NEW – JS API GEOLOCATION • Geolocation API if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(pos) { var lat = position.coords.latitude; var lng = position.coords.longitude; alert(lat + ':' + lng); }); }
  • 36. WHAT’S NEW – CSS3 • Selectors • Border Radius • Backgrounds • Color & Opacity • Shadows • 2D Transforms • WOFF Fonts
  • 37. WHAT’S NEW – CSS3 SELECTORS • Selectors .row:nth-child(even) { background: #dde; } • Specific attributes input[type="text"] {background: #eee; } • Negation :not(span) { display: block; } • Selection ::selection { background: #c00; }
  • 38. WHAT’S NEW – CSS3 BORDER RADIUS border-radius: 20px 10px; border-top-left-radius: 20px 10px; border-top-right-radius: 10px 25px; border-bottom-right-radius: 5px 10px; border-bottom-left-radius: 15px 25px;
  • 39. WHAT’S NEW – CSS3 BACKGROUNDS • Multiple backgrounds div { background-image: url(bg1.png), url(bg2.png); background-position: center center, 20% 80%, top left; } • SVG in CSS backgrounds body { background-image: url("marble.svg") }
  • 40. WHAT’S NEW – CSS3 COLOR & OPACITY • RGB / RGBA div.demo1 { background: rgba(60, 80, 100, 0.25); } • HSL / HSLA div.demo2 { background: hsla(320, 100%, 25%, 0.4); } • Opacity div.demo3 { background:#036; opacity:0.2; }
  • 41. WHAT’S NEW – CSS3 SHADOWS • Box Shadow div { box-shadow: 5px 5px 7px #888; } • Text Shadow span { text-shadow: 2px 2px 7px #111; }
  • 42. WHAT’S NEW – CSS3 2D TRANSFORMS div { transform: scale(0.75) rotate(0deg) translate(0px, 0px) skew(0deg, 0deg); transform-origin: 0% 0%; }
  • 43. WHAT’S NEW – CSS3 WOFF FONTS • Font Linking @font-face { font-family: Whimsy; src: url('fonts/Whimsy.woff'); }
  • 45. WHAT’S NEW – HTML5 SIMPLER MARKUP HTML5 is simpler
  • 46. WHAT’S NEW – HTML5 SIMPLER MARKUP <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Sergejus apie .NET</title> <link rel="stylesheet" href="http://sergejus.blogas.lt/wp- content/themes/webby-green-10/style.css" type="text/css" /> <link rel="alternate" type="application/rss+xml" title="Sergejus apie .NET RSS Feed" href="http://sergejus.blogas.lt/feed" />
  • 47. WHAT’S NEW – HTML5 SIMPLER MARKUP <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Sergejus apie .NET</title> <link rel="stylesheet" href="http://sergejus.blogas.lt/wp- content/themes/webby-green-10/style.css" type="text/css" /> <link rel="alternate" type="application/rss+xml" title="Sergejus apie .NET RSS Feed" href="http://sergejus.blogas.lt/feed" />
  • 48. WHAT’S NEW – HTML5 SIMPLER MARKUP <!doctype html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Sergejus apie .NET</title> <link rel="stylesheet" href="http://sergejus.blogas.lt/wp- content/themes/webby-green-10/style.css" type="text/css" /> <link rel="alternate" type="application/rss+xml" title="Sergejus apie .NET RSS Feed" href="http://sergejus.blogas.lt/feed" />
  • 49. WHAT’S NEW – HTML5 SIMPLER MARKUP <!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Sergejus apie .NET</title> <link rel="stylesheet" href="http://sergejus.blogas.lt/wp- content/themes/webby-green-10/style.css" type="text/css" /> <link rel="alternate" type="application/rss+xml" title="Sergejus apie .NET RSS Feed" href="http://sergejus.blogas.lt/feed" />
  • 50. WHAT’S NEW – HTML5 SIMPLER MARKUP <!doctype html> <html> <head> <meta charset="utf-8" /> <title>Sergejus apie .NET</title> <link rel="stylesheet" href="http://sergejus.blogas.lt/wp- content/themes/webby-green-10/style.css" type="text/css" /> <link rel="alternate" type="application/rss+xml" title="Sergejus apie .NET RSS Feed" href="http://sergejus.blogas.lt/feed" />
  • 51. WHAT’S NEW – HTML5 SIMPLER MARKUP <!doctype html> <html> <head> <meta charset="utf-8" /> <title>Sergejus apie .NET</title> <link rel="stylesheet" href="http://sergejus.blogas.lt/wp- content/themes/webby-green-10/style.css" /> <link rel="alternate" type="application/rss+xml" title="Sergejus apie .NET RSS Feed" href="http://sergejus.blogas.lt/feed" />
  • 52. WHAT’S NEW – HTML5 ELEMENTS HTML5 is more semantic
  • 53. WHAT’S NEW – HTML5 ELEMENTS • <section> • <nav> • <article> • <header> • <footer> • <aside> • <figure> • and more…
  • 54. WHAT’S NEW – HTML5 ELEMENTS
  • 55. WHAT’S NEW – HTML5 ELEMENTS
  • 56. WHAT’S NEW – HTML5 WEB FORMS 2.0 HTML5 is for Web Apps
  • 57. WHAT’S NEW – HTML5 WEB FORMS 2.0 • <input type="text" required autofocus /> • <input type="email" value="some@email.com" /> • <input type="date" min="2009-11-22" max="2011-11-22" value="2010-11-22"/> • <input type="range" min="0" max="50" value="10" /> • <input type="search" results="10" placeholder="Search..." /> • <input type="tel" placeholder="(370) 678-00000" pattern="^(?d{3})?[-s]d{3}[-s]d{5}.*?$" /> • <input type="color" placeholder="e.g. #bbbbbb" /> • <input type="number" step="1" min="-5" max="10" value="0" />
  • 58. WHAT’S NEW – HTML5 AUDIO/VIDEO HTML5 is richer
  • 59. WHAT’S NEW – HTML5 AUDIO/VIDEO • Audio <audio id="audio" src="sound.mp3" controls /> document.getElementById("audio").muted = false; • Video <video id="video" src="movie.webm" autoplay controls /> document.getElementById("video").play();
  • 60. WHAT’S NEW – HTML5 AUDIO/VIDEO • Container / Video + Audio Codecs • MP4 / H.264 + AAC • Ogg / Theora + Vorbis • WebM
  • 61. WHAT’S NEW – HTML5 CANVAS • Simple Shapes • Paths • Text • Gradients • Images
  • 62. WHAT’S NEW – HTML5 CANVAS <canvas id="canvas" width="838" height="220" /> <script> var canvasContext = document.getElementById("canvas") .getContext("2d"); canvasContext.fillRect(250, 25, 150, 100); canvasContext.beginPath(); canvasContext.arc(450, 110, 100, Math.PI*1/2, Math.PI*3/2); canvasContext.lineWidth = 15; canvasContext.lineCap = 'round'; canvasContext.strokeStyle = 'rgba(255, 127, 0, 0.5)'; canvasContext.stroke(); </script>
  • 63. WHAT’S NEW – HTML5 SVG <svg xmlns="http://www.w3.org/2000/svg"> <style type="text/css"> circle:hover {fill-opacity:0.9;} </style> <g style="fill-opacity:0.7;"> <circle cx="6cm" cy="2cm" r="100" style="fill:red; stroke:black; stroke-width:0.1cm" transform="translate(0,50)" /> <circle cx="6cm" cy="2cm" r="100" style="fill:blue; stroke:black; stroke-width:0.1cm" transform="translate(70,150)" /> <circle cx="6cm" cy="2cm" r="100" style="fill:green; stroke:black; stroke-width:0.1cm" transform="translate(-70,150)"/> </g> </svg>
  • 64. HTML5 VS. FLASH & SILVERLIGHT
  • 65. HTML5 VS. FLASH & SILVERLIGHT HTML5 is the future of Open Web
  • 66. HTML5 VS. FLASH & SILVERLIGHT HTML5 is not ready for main stream yet
  • 67. HTML5 DRAWBACKS • Draft version of specification • No standardized audio / video containers and codecs • Poor video / graphics performance • Lack of professional HTML5 tools
  • 68. HTML5 VS. FLASH & SILVERLIGHT • Flash & Silverlight will stay for • Enhanced video streaming • Digital rights management (DRM) • Complex RIAs
  • 69. ADOBE AND HTML5 • Working hard on HTML5 support • HTML5 video player with fallback to Flash • Export images as SVG and Canvas from Illustrator and Photoshop • Convert Flash to HTML5
  • 70. MICROSOFT AND HTML5 • Big focus on HTML5 and standards • HTML5 is the only true cross platform solution for everything, including (Apple’s) iOS platform. Bob Muglia, PDC2010 • Silverlight remains top platform for • Mobile • Desktop applications • Video / audio streaming
  • 72. NEXT STEPS HTML5 is not all or nothing
  • 73. NEXT STEPS HTML5 is foward compatible!
  • 74. NEXT STEPS You can start using it right now!
  • 75. NEXT STEPS • Read http://diveintohtml5.org • Modernizr.js – detects HTML5 support • ASP.NET MVC HTML5 helpers • Leverage <video> with fallback to Silverlight or Flash • Leverage <canvas> and <svg> with fallback to image
  • 76. NEXT STEPS Have fun and be creative!