prezentace
Transkript
prezentace
HTML 5 Historie HTML5 ● Co je HTML5 ● Přehled novinek ● Tomáš Hejl Miroslav Štufka HTML 5 ● ● ● ● ● Historie Zima 2003 – Snaha rozšířit formuláře HTML4 o vlastnosti XForms 1.0 (Opera Software) Jaro 2004 – Opera+Mozilla, návrh zamítnut (W3C připravuje zpětně nekompatibilní XHTML2.0) Léto 2004 – WHATWG (Web Hypertext Application Technology Working Group) Mozilla+Opera+Apple 2006/2007 – Počátek spolupráce WHATWG a W3C, zapojení Microsoftu First Working Draft 22.1. 2008, aktuálně 23.4. 2009 HTML5 Tomáš Hejl, Miroslav Štefka 2 HTML 5 – Cíle ● WHATWG Původní cíle WHATWG: 1) Zdokumentovat existující chování prohlížečů. 2) Navrhnout rozšíření HTML především s ohledem na webové aplikace. ● ● „This specification is intended to replace what was previously the HTML4, XHTML 1.x, and DOM2 HTML specifications.“ Původně Web Applications 1.0 + Web Forms 2.0 HTML5 Tomáš Hejl, Miroslav Štefka 3 HTML 5 – Aktuální ● ● vývoj W3C HTML WG 422 nezávislých expertů a 70 expertů zastupujících 27 dalších organizací (Mozilla, Opera, Apple, Microsoft, AOL, Cisco, Google, Kongres.knihovna USA, MIT, IBM, Nokia, Mezinárodní asociace tvůrců webů, ...) ● editor Ian Hickson (autor Acid testů, dříve Mozilla, Opera, dnes Google, editor CSS2.1...) HTML5 Tomáš Hejl, Miroslav Štefka 4 HTML 5 – Co ● ● není založeno na SGML, je ale zpětně kompatibilní na rozdíl od původního HTML a XHTML není definován syntaxí, ale DOMem ➔ ● to je? jazyk sám může být definován nezávisle na syntaxi v současnosti dvě syntaxe ● HTML serializace (HTML 5, inspirována SGML, ale kompatibilnější se současnými prohlížeči) ● XML serializace (XHTML 5, syntax XML 1.0 a namespaces, stejně jako XHTML 1.0.) HTML5 Tomáš Hejl, Miroslav Štefka 5 HTML 5 – HTML5 ● vs. XHTML5 rozlišení podle MIME typu (text/html resp. application/xhtml+xml) ● ● HTML5 HTML5 ● tolerantní k chybám ● zpětně kompatibilní ● prakticky stejná jako HTML4, včetně vynechávání tagů a atributů XHTML5 ● striktní XML → „well formed“ kód ● přímá integrace s derivacemi XML (SVG, MathML) ● využití mechanismů pro zpracování XML Tomáš Hejl, Miroslav Štefka 6 HTML 5 – Cíle ● HTML5 přiblížení HTML současným potřebám webových aplikací a schopnostem prohlížečů ● ● ● ● HTML5 nástroje pro práci s formuláři práce s různými API, multimédii, strukturami oživení sémantiky větší flexibilita Tomáš Hejl, Miroslav Štefka 7 HTML 5 Novinky HTML5 Tomáš Hejl, Miroslav Štefka 8 HTML 5 – Struktura ● webu dnes HTML5 Tomáš Hejl, Miroslav Štefka 9 HTML 5 – Struktura ● webu 2 HTML5 HTML5 Tomáš Hejl, Miroslav Štefka 10 HTML 5 – Struktura ● webu 3 <header> - hlavička webu nebo sekce, například nadpis+podnadpis ● <footer> - patička webu, sekce nebo článku ● <nav> - hlavní navigace ● <aside> - postranní panel ● <article> - článek textu ● <section> - viz dále HTML5 Tomáš Hejl, Miroslav Štefka 11 HTML 5 – Sekce ● <section> - spolu s nadpisy dělí web do sekcí <section> <h1>Úroveň 1</h1> <section> <h1>Úroveň 2</h1> <section> <h1>Úroveň 3</h1> </section> </section> </section> HTML5 Tomáš Hejl, Miroslav Štefka ● prolomení hranice šesté úrovně zanoření 12 HTML 5 – Dialog ● <dialog> - rozhovor, recyklace definičního seznamu <dialog> <dt>Romeo</dt> <dd>Má drahá Julie, jak se ti daří?</dd> <dt>Julie</dt> <dd>Romeo, ach můj Romeo, to jsem ráda, že jsi opět online.</dd> <dt>Romeo</dt> <dd>Vůbec si nedovedu představit, jak by náš vztah mohl po mém vyhoštění z města pokračovat, kdyby nebyl internet.</dd> </dialog> HTML5 Tomáš Hejl, Miroslav Štefka 13 HTML 5 – Figure ● <figure> - spojuje multimediální obsah s textem <figure> <img src="obrazek.jpg" /> <legend>Example</legend> </figure> ➔ nepovinný atribut alt (nepotřebný) HTML5 Tomáš Hejl, Miroslav Štefka 14 HTML 5 – Menu ● <menu> - rozšíření možností současného tagu ● atribut type ● ● list (defaultní, jako dnes) context vlastní kontextové menu, například „vyskakující“ navigace apod. ● navěšeno na jiný tag pomocí atributu contextmenu ● ● HTML5 toolbar Tomáš Hejl, Miroslav Štefka 15 HTML 5 – Audio a video Video dnes Video v HTML5 <embed type="application/x-shockwaveflash" src="/static/cz/shared/app/MediaCenter.s wf" quality="high" wmode="transparent" allowfullscreen="true" flashvars="media_id=431380&bit=122547 3403624233743826&color=#000000&aut ostart=true" width="440" height="288"> HTML5 Tomáš Hejl, Miroslav Štefka <video src="soubor.ogg"> </video> 16 HTML 5 – Audio ● a video 2 <video>, <audio> <video poster="poster.jpg"> <source src="video.3gp" type="video/3gpp" media="handheld"> <source src="video.ogv" type="video/ogg; codecs=theora, vorbis"> <source src="video.mp4" type="video/mp4"> </video> <audio> <source src="music.oga" type="audio/ogg"> <source src="music.mp3" type="audio/mpeg"> </audio> ● <source> - alternativní obsah, podle schopností prohlížeče HTML5 Tomáš Hejl, Miroslav Štefka 17 HTML 5 – Audio ● a video 3 jednoduché ovládání bez flashe <video src="video.ogg" id="film"></video> <script> var film = document.getElementById("film"); </script> <p> <button type="button" onclick="film.play();">Play</button> <button type="button" onclick="film.pause();">Stop</button> <button type="button" onclick="film.currentTime = 0;">Přetočit </button> </p> HTML5 Tomáš Hejl, Miroslav Štefka 18 HTML 5 – Formuláře ● nové typy (kromě stávajících text, checkbox, radio...) ● ● ● ● ● ● - Input datetime, datetime-local, date, month, week, time number, range email, url search color nové atributy ● ● ● ● HTML5 placeholder – text, zobrazený v prázdném inputu required – povinný prvek autocomplete – povolení samovyplňování prohlížečem multiple – upload více souborů najednou, zadání více e-mailů Tomáš Hejl, Miroslav Štefka 19 HTML 5 – Formuláře ● ● atribut pattern místo typu – zadání správného obsahu přímo regulárním výrazem interaktivní změny formulářů přidávání, mazání a přesouvání prvků ukázka (funkční pouze v Opeře) Web Forms 2.0 zahrnuty do specifikace HTML 5 teprve v únoru 2009, proto nejsou zatím více implementovány ● ● ● HTML5 Tomáš Hejl, Miroslav Štefka 20 HTML 5 – Canvas ● ● ● ● ● <canvas> kreslení grafiky pomocí javascriptu objekt „context“ s metodami pro kreslení ● více různých contextů s různými metodami ● většina prohlížečů implementuje 2D context (kromě IE), Opera a FF experimentálně i 3D context ukázka 2D canvas rozsáhlý tutorial na root.cz HTML5 Tomáš Hejl, Miroslav Štefka 21 HTML 5 – ● Drag and drop nové eventy dragstart ● drag ● dragenter ● dragleave ● dragover ● drop ● dragend podle návrhu vývojářů IE Ukázka (pouze IE a Safari) ● ● ● HTML5 Tomáš Hejl, Miroslav Štefka 22 HTML 5 – Offline-storage ● ● ● ● Dovoluje používání webových aplikací offline (např. přístup k dříve došlým e-mailům, psaní v Google Docs, prohlížení událostí v Google Kalendáři atp.), ale také lokální ukládání dat (košík v e-shopu) SQL-based database API ● vlastní databáze v prohlížeči ● vyjmuto 23.4. z HTML 5 localStorage, sessionStorage ● obdoba sessions, vyjmuto 23.4. z HTML5 offline application HTTP cache (soubor .manifest) ● určení, které soubory se mají cachovat HTML5 Tomáš Hejl, Miroslav Štefka 23 HTML 5 – Cross-document ● ● ● messaging V současnosti není komunikace mezi doménami (crosssite scripting) možná z bezpečnostních důvodů umožňuje zasílat zprávy „přátelskému“ webu i na jiné domény metoda postMessage(...) na objektu Window stačí získat window např. přes iframe přijetí zprávy pomocí listeneru události message na objektu window (událost nebublá, nedá se zrušit, nemá výchozí akci) ukázka (pouze Firefox a IE8) ● ● ● HTML5 Tomáš Hejl, Miroslav Štefka 24 HTML 5 – Browser ● ● ● history management umožňuje do historie procházení webu (v současnosti pouze seznam URL) přidat tzv. State object state object se může uložit typicky např. při navigaci v rámci jedné stránky (např. AJAXem) po stisknutí tlačítka „Zpět“ v prohlížeči se vyvolá poslední URL nebo State object, ze kterého se zrekonstruuje předchozí stav ➔ user-friendly navigace i v rámci one-page aplikace ● interface History na objektu window.history HTML5 Tomáš Hejl, Miroslav Štefka 25 HTML 5 – MIME type and protocol handler registration ● umožňuje zaregistrovat do systému klienta nový protokol a webovou aplikaci, která bude tento protokol odchytávat a zpracovávat jen s potvrzením klienta ● po zaregistrování se bude požadavek na nový protokol předávat určené webové stránce jako parametr metodou GET podobně pro nové MIME typy ● ● HTML5 Tomáš Hejl, Miroslav Štefka 26 HTML 5 – Odebrané ● elementy a atributy Elementy basefont, big, center, font, s, strike, tt, u ● frame, frameset, noframes ● acronym, applet, isindex, dir ● noscript nyní pouze v HTML syntaxi Atributy ● např. acceskey; rev a charset na elementech link a a; shape a coords na a; target; name na img a a; language na script, summary na table; scope na td; obecně všechny atributy, nahrazené vlastnostmi CSS (align, valign, border atd); a další ● ● HTML5 Tomáš Hejl, Miroslav Štefka 27 HTML 5 – Ostatní ● Standardizace zavedených proprietárních řešení innerHTML, contenteditable, designMode, getElementsByClassName ● parametr sandbox elementu iframe ● umožňuje v iframe zakázat formuláře, skriptování, navigaci mimo frame atd. ● parametr seamless elementu iframe ● alternativa PHP funkce include ● iframe se bude tvářit jako součást stránky – jeho obsah bude formátován CSS jako zbytek stránky atp. ● HTML5 Tomáš Hejl, Miroslav Štefka 28 HTML 5 – Odkazy ● ● ● http://html5.validator.nu/ - HTML 5 validátor http://en.wikipedia.org/wiki/Comparison_of_layout_engines_( - přehled současné podpory HTML 5 Zdroje ● ● ● ● ● ● ● ● HTML5 http://interval.cz/clanky/seznameni-s-html-5/ http://www.lupa.cz/clanky/whatwg-budoucnost-webu/ http://en.wikipedia.org/wiki/HTML_5 http://dev.w3.org/html5/spec/Overview.html http://zdrojak.root.cz/clanky/zaciname-z-html5-canvasem/ http://interval.cz/clanky/html-nbsp-5-a-semantika/ http://a.met.cz/juniorinternet/2008/ obecně http://www.w3.org/ Tomáš Hejl, Miroslav Štefka 29