Start presentation
HTML5 a budoucnost Webu
5 > 2
Martin Hassman
28. 3. 2008, WebCamp, Praha
Kde se HTML5 vzalo?
WHATWG (2004)
W3C (2007)
HTML5 - text/html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Hello</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
- Nový a jednoduchý DOCTYPE
- Zjednodušená deklarace kódování. Lze použít i starý způsob.
A znovu HTML5 - text/html
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>Hello</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
-
"/" - This character has no effect except to appease the markup gods.
As this character is therefore just a symbol of faith, atheists should omit it.
XHTML5 - application/xhtml+xml
<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Hello</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
- DOCTYPE je nepovinný
- Deklarace kódování jen v XML hlavičce
Hlavní cíle HTML5
- Interoperabilita
- Dosáhnout alespoň 2 stejných implementací
- Dohnání zpožděného vývoje Webu
- Konkurenceschopnost Webu
- non-draconian error handling
- cca 20 000 testů
Z čeho se skládá HTML5
- Opravy a doplňky předchozích specifikací
- HTML5 parser
- Specifikace běžně používaného
- Novinky 8-)
Specifikace běžně používaného
- innerHTML
- getElementsByClassName()
- drag & drop
- contenteditable, designMode
Sémantické značky
- Založené na průzkumu používaných CSS tříd
- <header>, <footer>, <nav>, <aside>
- <section>, <article>, <dialog>
AJAX s historií
Dvě řešení
- Stav v URL + událost hashChange
- Stav v objektu + history.pushState()
+ PopStateEvent
- Stávající řešení a la www.mapy.cz
Data Storage
- Cookies už nestačí
- sessionStorage
- globalStorage (nedávno změněno na localStorage)
- SQL storage (SQL5) - těžká váha
Offline webové aplikace
- Web jako platforma pro desktopové
a mobilní aplikace
- Desktopové technologie se
naopak tlačí na web
- Google Gears
Značka datagrid
- Značka ze všech nejmocnější
- Podpora AJAXu
- Pro "nekonečné" seznamy, stromy a tabulky
Značka canvas
- Kreslení přímo do stránky
- 2D kontext
- Prohlížeče experimentují s 3D (to nebude v HTML5)
Značky Audio a Video
- Sjednocení vkládání a ovládání médií
- Výhodné pro vyhledávače
- Nezávislost na pluginech
- Možná se výrobci dohodnou i na společném kodeku
Komunikace mezi dokumenty (okny)
- Snadná cross-domain komunikace
- window.postMessage()
- addEventListener("message", ...)
Peer-to-peer
- Přes TCP...
- and možná i Bluetooth a IrDa
- Web již nebude omezen na model klient-server
- Offline aplikace mohou komunikovat navzájem
Opera implementovala
- <canvas>
- cross-document messaging
- <event-source>
- Web Forms 2 (~80%)
Firefox implementoval
- <canvas>
- cross-document messaging
- sessionStorage, globalStorage
- offline události
Safari implementovalo
- <canvas>
- cross-document messaging
- SQL storage
Internet Explorer 8 beta implementoval
- cross-document messaging
- sessionStorage, globalStorage
- offline události
- hashChanged událost pro AJAX
Kdy tu bude HTML5?
- Stále ve vývoji!
- I již implementované části se mohou měnit
- Boom HTML5 nastane v období 2010-2012 ???
5 > 4
5 > 3
5 > 2
5 > 1
Otázky?
(Následuje část: Web Forms 2.0)