Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HTML5: Introduction
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Guille Paz
November 02, 2012
Programming
370
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HTML5: Introduction
Guille Paz
November 02, 2012
More Decks by Guille Paz
See All by Guille Paz
The Road to Node
pazguille
0
270
No me robes el Scroll!
pazguille
0
300
User First
pazguille
1
230
#OfflineFirst
pazguille
3
6k
ES6 in Production
pazguille
10
3.2k
No me hagas esperar!
pazguille
1
210
CSS Sprites vs. Data URIs
pazguille
0
460
Hello, Style Guides!
pazguille
0
290
Decoupling your JavaScript
pazguille
0
200
Other Decks in Programming
See All in Programming
MySQLとPostgreSQLって何が違うの?
akagami
0
140
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
170
Flow は今どうなっているか
mizdra
PRO
0
720
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
240
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
1.2k
VibeCodingからAgenticWorkflowへ
starfish719
0
870
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
190
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.7k
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
110
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
390
Go 1.27 における memory allocation の高速化
andpad
0
320
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
sira's awesome portfolio website redesign presentation
elsirapls
0
340
Believing is Seeing
oripsolob
1
200
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
400
Designing Powerful Visuals for Engaging Learning
tmiket
1
510
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
870
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
Mind Mapping
helmedeiros
PRO
1
330
Marketing to machines
jonoalderson
1
5.7k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
430
Transcript
HTML5 Everything changes...
HTML5 is awesome!
HTML 4 <h2>Título de un artículo</h2> <p> <strong>Había una vez...<strong>
un ninja que <em>estaba sólo</em>. </p>
HTML5 <h2>Título de un artículo</h2> <p> <strong>Había una vez...<strong> un
ninja que <em>estaba sólo</em>. </p>
HTML5 <h2>Título de un artículo</h2> <p> <strong>Había una vez...<strong> un
ninja que <em>estaba sólo</em>. </p>
Thanks!
HTML5 is awesome!
HTML5 HTML CSS JavaScript
Collection of tools • Semantics • Offline & Storage •
Devices Access • Connectivity • Multimedia • 3D, Graphics & Effects • Performance & Integration
Semantics & Markup
Semantics • More meaningful elements • Better semantic tags and
attributes • Semantic structure • Microdata / Microformats • ARIA attributes • New form types • More simple and cool
Doctype
Doctype • Switch the content into standards mode • Prevent
quirks mode • Case-insensitive
<!DOCTYPE html PUBLIC"-/ /W3C/ /DTD XHTML 1.0 Transitional/ /EN""http:/ /www.w3.org/TR/xhtml1/
DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC"-/ /W3C/ /DTD XHTML 1.0 Transitional/ /EN""http:/ /www.w3.org/TR/xhtml1/
DTD/xhtml1-transitional.dtd">
<!DOCTYPE html>
Better semantic tags
HTML 4
HTML5
Custom data attribute
Custom data attribute data-* inside HTML elements Parse them using
JavaScript (getAttribute method) * = custom attributes: user, name, phone, id, chico, meli, etc...
data-* <a id="CATEG:1039" href="/camaras">Cámaras</a>
data-* <a data-id="CATEG:1039" href="/camaras">Cámaras</a>
Mircrodata • Semantic attributes and properties • Search engines, Web
crawlers, Browsers • Provide a richer browsing experience for users
<p itemscope> I’m going to the <a itemprop="url" href="http:/ /www.saltercane.com/">Salter
Cane</a> gig <data itemprop="date" datetime="2010-07-18">next week</data>. Excited!</p>
ARIA
ARIA attributes • Improve the accessibility of RIAs • JavaScript
components • Helps with dynamic content • Semantic attributes and properties: • roles (tree, navigation, presentation) • properties (aria-selected, aria-hidden)
<a href=”/buy” role=”button”>Comprar</a>
<div role=”tooltip”>For Nerds, by Nerds</div>
Forms
New forms • Semantic types and attributes • Mobile compatibility
• Validation engine • Custom patterns • More control
<input type=”email”> <input type=”tel”>
<input type=”date”> <input type=”range”> <input type=”color”>
<input type=“text” placeholder=”Search Bookmarks and His”> <input type=“text” required=“required”>
Offline & storage
Web Storage • Local storage / Session storage • IndexedDB
• Application Cache (offline apps)
Local Storage • JavaScript API • Cliente-side database • Key-value
notation (JSON) • Stored in users browsers • 5 MB (per domain) • the data persists (after the browser is shutdown or the session is closed)
<ul id="tree1" role="tree" tabindex="0" aria-labelledby="label_1"> <li role="treeitem" tabindex="-1" aria- expanded="true">Fruits</li>
<li role="group"> <ul> <li role="treeitem" tabindex="-1">Oranges</li> <li role="treeitem" tabindex="-1">Pineapples</li> ... </ul> </li> </ul>
Session Storage = Local Storage
limited to the time span where the current window is
open once the window is shut will be invalid Session Storage = Local Storage
IndexDB
IndexDB • Web SQL database must die! • Object Store
• http://www.html5rocks.com/en/ tutorials/indexeddb/todo/
AppCache
AppCache • Offline First • Chache manifest (*.appcache => file)
• Load from local cache (HTML, CSS, JS and images) • mimetype: text/cache-manifest • 5MB (chrome = unlimitedStorage) • window.applicationCache
<html manifest="chico.appcache"> CACHE MANIFEST # v0.11 CACHE: versions/latest/chico.css versions/latest/jquery.js versions/latest/chico.js
src/assets/ninja.png NETWORK: *
Device Access
Device Access • Geolocation API • Camera / Microphone •
Local Data (contacts and events) • Device Orientation • Device Motion • Vibration • Notification
Device Access • Geolocation API • Camera / Microphone •
Local Data (contacts and events) • Device Orientation • Device Motion • Vibration • Notification
Connectivity
Connectivity • Web Sockets • Server-sent events • Real time
Web Sockets • JavaScript API • Real time connections •
Bi-directional communications
Who is using Web Sockets? • Facebook (chat, notifications, comments)
• Gmail • Twitter
Multimedia
Multimedia •Video •Audio
Who is using Multimedia? • Youtube • Vimeo • GrooveShark
Video Audio
None
3D, Graphics, Effects
3D, Graphics, Effects • SVG • Canvas • WebGL •
CSS3 3D
SVG • Scalable Vector Graphic • Language for rich graphical
content like as: • Pie charts, • Two-dimensional graphs
<svg id="svgelem" height="200" xmlns="http:/ /www.w3.org/2000/ svg"> ! <circle id="redcircle" cx="50"
cy="50" r="50" fill="red" /> </svg>
Canvas • HTML Element • Draw graphics (with JavaScript) •
Control every pixel
Canvas
WebGL • Web-based Graphics Library • Interactive 3D graphics •
Canvas 3D • JavaScript API
http:/ /helloracer.com/webgl/ WebGL
Performance & Integration
Performance & Integration •Web Workers •XMLHttpRequest2
Web Workers •JavaScript API •Load JS file dynamically •Process code
in a background •Multi JavaScript thread
XMLHttpRequest2 •Ajax •Uploading progress events (progress tag) •Working with files
(file system api) •FormData •CORS (cross domain request)
CSS3
CSS3 • Transitions • Animations • Transforms • Gradients •
Rounded corners • Flexible Box Model • Multi-column Webfonts Text wrapping Columns Opacity Backgrounds CSS selectors Shadows
Transforms, Transitions and Animations http:/ /leaverou.github.com/animatable/ http:/ /cubic-bezier.com/#.17,.67,.83,.67
Gradients btn.primary { background-image: linear-gradient(top, #BACDFF, #4055A5 3%, #283077); }
Rounded corners btn.primary { border-radius: 5px; }
CSS selectors p:nth-child(3) { } input:checked { } p:first-of-type {
} p ~ ul { }
Thanks!