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
Guille Paz
November 02, 2012
Programming
8
360
HTML5: Introduction
Guille Paz
November 02, 2012
Tweet
Share
More Decks by Guille Paz
See All by Guille Paz
The Road to Node
pazguille
0
250
No me robes el Scroll!
pazguille
0
260
User First
pazguille
1
210
#OfflineFirst
pazguille
3
5.9k
ES6 in Production
pazguille
10
3.2k
No me hagas esperar!
pazguille
1
180
CSS Sprites vs. Data URIs
pazguille
0
440
Hello, Style Guides!
pazguille
0
270
Decoupling your JavaScript
pazguille
0
180
Other Decks in Programming
See All in Programming
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
AI時代の認知負荷との向き合い方
optfit
0
160
AI巻き込み型コードレビューのススメ
nealle
1
170
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.3k
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
120
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
Grafana:建立系統全知視角的捷徑
blueswen
0
330
dchart: charts from deck markup
ajstarks
3
990
Patterns of Patterns
denyspoltorak
0
1.4k
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
110
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.4k
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
810
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
The SEO Collaboration Effect
kristinabergwall1
0
350
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
73
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
First, design no harm
axbom
PRO
2
1.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The Pragmatic Product Professional
lauravandoore
37
7.1k
BBQ
matthewcrist
89
10k
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!