SlideShare a Scribd company logo
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

More Related Content

What's hot

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 Hamburg
Dr. Arif Wider
 
Microsoft AZ-900 Dumps Questions
Microsoft AZ-900 Dumps QuestionsMicrosoft AZ-900 Dumps Questions
Microsoft AZ-900 Dumps Questions
Braindumps4IT
 
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
Dr. Arif Wider
 
DotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + reactDotNet MVC and webpack + Babel + react
DotNet MVC and webpack + Babel + react
Chen-Tien Tsai
 
Production optimization with React and Webpack
Production optimization with React and WebpackProduction optimization with React and Webpack
Production optimization with React and Webpack
k88hudson
 
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
Alexandre Morgaut
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
Dotitude
 
Unsafe SSL webinar
Unsafe SSL webinarUnsafe SSL webinar
Unsafe SSL webinar
Wolfgang Kandek
 
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
divyapisces
 
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 Informix
Keshav Murthy
 
Bundling your front-end with Webpack
Bundling your front-end with WebpackBundling your front-end with Webpack
Bundling your front-end with Webpack
Danillo Corvalan
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
Naveen Pete
 
Node.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash CourseNode.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash Course
Aaron 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 Web
Peter 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 linkedin
Ruhaim Izmeth
 

What's hot (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
 

Similar to 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 Modernizr
Michael Enslow
 
Html5 public
Html5 publicHtml5 public
Html5 public
doodlemoonch
 
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
 
HTML 5 - Overview
HTML 5 - OverviewHTML 5 - Overview
HTML 5 - Overview
Marcelio Leal
 
HTML 5
HTML 5HTML 5
HTML5 History & Features
HTML5 History & FeaturesHTML5 History & Features
HTML5 History & Features
Dave Ross
 
Html5
Html5Html5
Ease into HTML5 and CSS3
Ease into HTML5 and CSS3Ease into HTML5 and CSS3
Ease into HTML5 and CSS3
Brian Moon
 
WHAT IS HTML5?(20100510)
WHAT IS HTML5?(20100510)WHAT IS HTML5?(20100510)
WHAT IS HTML5?(20100510)
Shumpei Shiraishi
 
Introduction to html 5
Introduction to html 5Introduction to html 5
Introduction to html 5
Nir 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 2010
Chris O'Connor
 
Intro to Front-End Web Devlopment
Intro to Front-End Web DevlopmentIntro to Front-End Web Devlopment
Intro to Front-End Web Devlopment
damonras
 
Looking into HTML5 + CSS3
Looking into HTML5 + CSS3Looking into HTML5 + CSS3
Looking into HTML5 + CSS3
Christopher Schmitt
 
Html5 - Novas Tags na Prática!
Html5 - Novas Tags na Prática!Html5 - Novas Tags na Prática!
Html5 - Novas Tags na Prática!
Rômulo Reis de Oliveira
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
Susan Winters
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Sadaaki HIRAI
 
[In Control 2010] HTML5
[In Control 2010] HTML5[In Control 2010] HTML5
[In Control 2010] HTML5
Christopher Schmitt
 
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
Tilak Joshi
 
5 ways to embrace HTML5 today
5 ways to embrace HTML5 today5 ways to embrace HTML5 today
5 ways to embrace HTML5 today
Daniel Ryan
 

Similar to 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
 

More from Sergejus Barinovas

Bringing Developers to the Next Level
Bringing Developers to the Next LevelBringing Developers to the Next Level
Bringing Developers to the Next Level
Sergejus 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 azure
Sergejus Barinovas
 
Continuous Happiness by Continuous Delivery
Continuous Happiness by Continuous DeliveryContinuous Happiness by Continuous Delivery
Continuous Happiness by Continuous Delivery
Sergejus 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 view
Sergejus Barinovas
 
Flashback: QCon San Francisco 2012
Flashback: QCon San Francisco 2012Flashback: QCon San Francisco 2012
Flashback: QCon San Francisco 2012
Sergejus 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 necessary
Sergejus Barinovas
 
Release Often Release Safely
Release Often Release SafelyRelease Often Release Safely
Release Often Release Safely
Sergejus 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 Platform
Sergejus Barinovas
 
Web Scale with NoSQL
Web Scale with NoSQLWeb Scale with NoSQL
Web Scale with NoSQL
Sergejus Barinovas
 
NoSQL - what's that
NoSQL - what's thatNoSQL - what's that
NoSQL - what's that
Sergejus Barinovas
 
Cloud Computing and Microsoft Azure Platform
Cloud Computing and Microsoft Azure PlatformCloud Computing and Microsoft Azure Platform
Cloud Computing and Microsoft Azure Platform
Sergejus Barinovas
 

More from 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
 

Recently uploaded

Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum ThreatsNavigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
anupriti
 
Data Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber SecurityData Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber Security
anupriti
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
Lessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien RiouxLessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien Rioux
crioux1
 
AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
Raphaël Semeteys
 
this resume for sadika shaikh bca student
this resume for sadika shaikh bca studentthis resume for sadika shaikh bca student
this resume for sadika shaikh bca student
SadikaShaikh7
 
9 Ways Pastors Will Use AI Everyday By 2029
9 Ways Pastors Will Use AI Everyday By 20299 Ways Pastors Will Use AI Everyday By 2029
9 Ways Pastors Will Use AI Everyday By 2029
Big Click Syndicate LLC
 
Artificial Intelligence and Its Different Domains.pptx
Artificial Intelligence and Its Different Domains.pptxArtificial Intelligence and Its Different Domains.pptx
Artificial Intelligence and Its Different Domains.pptx
officialnavya2010
 
Multimodal Retrieval Augmented Generation (RAG) with Milvus
Multimodal Retrieval Augmented Generation (RAG) with MilvusMultimodal Retrieval Augmented Generation (RAG) with Milvus
Multimodal Retrieval Augmented Generation (RAG) with Milvus
Zilliz
 
Getting Started Using the National Research Platform
Getting Started Using the National Research PlatformGetting Started Using the National Research Platform
Getting Started Using the National Research Platform
Larry Smarr
 
ASIMOV: Enterprise RAG at Dialog Axiata PLC
ASIMOV: Enterprise RAG at Dialog Axiata PLCASIMOV: Enterprise RAG at Dialog Axiata PLC
ASIMOV: Enterprise RAG at Dialog Axiata PLC
Zilliz
 
Leveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptxLeveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptx
petabridge
 
Metadata Lakes for Next-Gen AI/ML - Datastrato
Metadata Lakes for Next-Gen AI/ML - DatastratoMetadata Lakes for Next-Gen AI/ML - Datastrato
Metadata Lakes for Next-Gen AI/ML - Datastrato
Zilliz
 
Building an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and MilvusBuilding an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and Milvus
Zilliz
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
Neeraj Kumar Singh
 
Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0
Neeraj Kumar Singh
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
Alpen-Adria-Universität
 
STKI Israeli Market Study 2024 final v1
STKI Israeli Market Study 2024 final  v1STKI Israeli Market Study 2024 final  v1
STKI Israeli Market Study 2024 final v1
Dr. Jimmy Schwarzkopf
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
How to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance ProblemsHow to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance Problems
ScyllaDB
 

Recently uploaded (20)

Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum ThreatsNavigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
 
Data Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber SecurityData Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber Security
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
Lessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien RiouxLessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien Rioux
 
AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
 
this resume for sadika shaikh bca student
this resume for sadika shaikh bca studentthis resume for sadika shaikh bca student
this resume for sadika shaikh bca student
 
9 Ways Pastors Will Use AI Everyday By 2029
9 Ways Pastors Will Use AI Everyday By 20299 Ways Pastors Will Use AI Everyday By 2029
9 Ways Pastors Will Use AI Everyday By 2029
 
Artificial Intelligence and Its Different Domains.pptx
Artificial Intelligence and Its Different Domains.pptxArtificial Intelligence and Its Different Domains.pptx
Artificial Intelligence and Its Different Domains.pptx
 
Multimodal Retrieval Augmented Generation (RAG) with Milvus
Multimodal Retrieval Augmented Generation (RAG) with MilvusMultimodal Retrieval Augmented Generation (RAG) with Milvus
Multimodal Retrieval Augmented Generation (RAG) with Milvus
 
Getting Started Using the National Research Platform
Getting Started Using the National Research PlatformGetting Started Using the National Research Platform
Getting Started Using the National Research Platform
 
ASIMOV: Enterprise RAG at Dialog Axiata PLC
ASIMOV: Enterprise RAG at Dialog Axiata PLCASIMOV: Enterprise RAG at Dialog Axiata PLC
ASIMOV: Enterprise RAG at Dialog Axiata PLC
 
Leveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptxLeveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptx
 
Metadata Lakes for Next-Gen AI/ML - Datastrato
Metadata Lakes for Next-Gen AI/ML - DatastratoMetadata Lakes for Next-Gen AI/ML - Datastrato
Metadata Lakes for Next-Gen AI/ML - Datastrato
 
Building an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and MilvusBuilding an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and Milvus
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
 
Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
 
STKI Israeli Market Study 2024 final v1
STKI Israeli Market Study 2024 final  v1STKI Israeli Market Study 2024 final  v1
STKI Israeli Market Study 2024 final v1
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
How to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance ProblemsHow to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance Problems
 

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!