Page 1


Peter Lubbers, Brian Albers, Frank Salim

HTML5 Programujeme modernĂ­ webovĂŠ aplikace

Computer Press, a. s. Brno 2011

K1939.indd 1

1.7.2011 12:43:43


HTML5 Programujeme moderní webové aplikace Peter Lubbers, Brian Albers, Frank Salim Computer Press, a. s., 2011. Vydání první. Překlad: Ondřej Gibl Jazyková korektura: Alena Láníčková, Jana Otevřelová Sazba: Martin Hubík Rejstřík: Jakub Urban Obálka: Martin Sodomka Komentář na zadní straně obálky: Martin Domes

Technická spolupráce: Jiří Matoušek, Zuzana Šindlerová, Dagmar Hajdajová Odpovědný redaktor: Martin Domes Technický redaktor: Jiří Matoušek Produkce: Petr Baláš

Original edition copyright: © 2010 by Peter Lubbers, Brian Albers, Frank Salim. All rights reserved. Czech Edition copyright: © 2011 by Computer Press. All rights rserved. Autorizovaný překlad z originálního anglického vydání Pro HTML5 programming. Originální copyright: © 2010 by Peter Lubbers, Brian Albers, Frank Salim. Překlad: © Computer Press, a.s., 2011. Computer Press, a. s., Holandská 3, 639 00 Brno Objednávky knih: http://knihy.cpress.cz distribuce@cpress.cz tel.: 800 555 513 ISBN 978-80-251-3539-6 Prodejní kód: K1939 Vydalo nakladatelství Computer Press, a. s., jako svou 4 003. publikaci. © Computer Press, a. s. Všechna práva vyhrazena. Žádná část této publikace nesmí být kopírována a rozmnožována za účelem rozšiřování v jakékoli formě či jakýmkoli způsobem bez písemného souhlasu vydavatele.

K1939.indd 2

1.7.2011 12:44:22


Stručný obsah Úvodem........................................................................................ 17 1. Seznámení s HTML5 .................................................................... 21 2. Rozhraní Canvas .......................................................................... 47 3. Práce s audiem a videem v HTML5 ............................................ 85 4. Geolokační rozhraní ................................................................. 109 5. Komunikační rozhraní .............................................................. 137 6. Rozhraní WebSocket ................................................................. 161 7. Rozhraní HTML5 pro formuláře ............................................... 195 8. Rozhraní Web Workers.............................................................. 219 9. Rozhraní webového úložiště .................................................... 241 10. Tvorba off-line webových aplikací HTML5 ............................. 273 11. Budoucnost HTML5 .................................................................. 291

K1939.indd 3

1.7.2011 12:44:22


K1939.indd 4

1.7.2011 12:44:22


Obsah Předmluva ...........................................................................................................................13 O autorech...........................................................................................................................14 O odborném korektorovi ...............................................................................................14 Poděkování..........................................................................................................................15 Věnování ..............................................................................................................................16

Úvodem .................................................................................. 17 Komu je tato kniha určena ............................................................................................17 Co v této knize najdete ...................................................................................................18 Kontakt na autory .............................................................................................................19 Zpětná vazba od čtenářů...............................................................................................19 Zdrojové kódy ke knize ..................................................................................................19 Errata .....................................................................................................................................20

Kapitola 1 Seznámení s HTML5 .............................................................. 21 Jak se vyvíjela specifikace HTML5 ..............................................................................21 Mýtus roku 2022 a proč na tom nezáleží .................................................................23 Kdo vyvíjí HTML5 ..............................................................................................................23 Nová vize..............................................................................................................................24 Kompatibilita ...................................................................................................................................... 24 Přínos a upřednostnění uživatelů............................................................................................... 24 Zjednodušení interoperability ..................................................................................................... 25 Obecný přístup .................................................................................................................................. 26

Paradigma bez zásuvných modulů ............................................................................26 Co sem patří a co ne ........................................................................................................................ 27

Co je v HTML5 nového ....................................................................................................29 Nový DOCTYPE a znaková sada .................................................................................................. 29 Nové a zastaralé elementy ............................................................................................................ 31

K1939.indd 5

1.7.2011 12:44:22


6

Obsah Sémantické elementy ..................................................................................................................... 31 Zjednodušení výběru pomocí rozhraní Selector .................................................................. 38 Protokolování a ladění JavaScriptu ............................................................................................ 41 window.JSON ..................................................................................................................................... 42 DOM Level 3 ....................................................................................................................................... 43 Monkeys, Squirrelfish a další podivnosti.................................................................................. 43

Shrnutí ..................................................................................................................................45

Kapitola 2 Rozhraní Canvas .................................................................... 47 Seznámení s rozhraním Canvas jazyka HTML5......................................................47 Historie ................................................................................................................................................. 48 Co je to plátno? ................................................................................................................................. 48 Souřadnice plátna ............................................................................................................................ 49 Kdy plátno nepoužívat ................................................................................................................... 49 Alternativní obsah ............................................................................................................................ 50 CSS a plátno........................................................................................................................................ 50 Podpora rozhraní Canvas ze strany prohlížečů ..................................................................... 50

Použití rozhraní Canvas ..................................................................................................51 Ověření podpory prohlížeče ........................................................................................................ 51 Přidání plátna do stránky............................................................................................................... 52 Aplikace transformací ..................................................................................................................... 55 Práce s cestami .................................................................................................................................. 58 Vytažení cesty a jeho styl............................................................................................................... 60 Práce s výplněmi ............................................................................................................................... 61 Vyplnění obdélníkové oblasti ...................................................................................................... 62 Křivky..................................................................................................................................................... 63 Vložení obrázku do plátna ............................................................................................................ 65 Přechody .............................................................................................................................................. 66 Pozadí.................................................................................................................................................... 69 Změna velikost objektů plátna.................................................................................................... 71 Použití transformací ......................................................................................................................... 73 Text......................................................................................................................................................... 74 Stíny ....................................................................................................................................................... 76 Manipulace s pixely ......................................................................................................................... 78 Zabezpečení plátna ......................................................................................................................... 79 Vytvoření aplikace využívající rozhraní Canvas ..................................................................... 80 Praktický příklad – skleněná tabule přes celé okno............................................................. 84

Shrnutí ..................................................................................................................................84

K1939.indd 6

1.7.2011 12:44:22


Obsah

7

Kapitola 3 Práce s audiem a videem v HTML5 ...................................... 85 Seznámení s audio- a videorozhraním HTML5 ......................................................86 Kontejnery videa ............................................................................................................................... 86 Kodeky audia a videa ...................................................................................................................... 87 Omezení audia a videa ................................................................................................................... 88 Podpora audia a videa HTML5 v prohlížečích........................................................................ 89

Použití rozhraní audio a video .....................................................................................89 Seznámení s multimediálními elementy ................................................................................. 91 Práce s audiem................................................................................................................................... 96 Práce s videem ................................................................................................................................... 97 Praktické doplňky ...........................................................................................................................104

Shrnutí ............................................................................................................................... 106

Kapitola 4 Geolokační rozhraní ............................................................ 109 Informace o poloze ....................................................................................................... 110 Zeměpisná šířka a délka...............................................................................................................110 Odkud pochází informace o poloze? ......................................................................................111 Lokalizace podle adresy IP ..........................................................................................................111 Lokalizace pomocí GPS ................................................................................................................112 Lokalizace pomocí Wi-Fi ...............................................................................................................112 Lokalizace v mobilní síti ...............................................................................................................113 Informace o poloze zadané uživatelem .................................................................................113

Podpora geolokačního rozhraní HTML5 ze strany prohlížečů ................................................................................................... 114 Soukromí........................................................................................................................... 114 Ochrana soukromí ..........................................................................................................................115 Nakládání s informacemi o poloze...........................................................................................116

Použití geolokačního rozhraní HTML5................................................................... 117 Ověření podpory prohlížeče ......................................................................................................117 Požadavky na polohu ....................................................................................................................117 Opakované aktualizace polohy .................................................................................................122

Praktický příklad použití geolokačního rozhraní HTML5 ............................................................................... 123 Kód HTML ..........................................................................................................................................125 Zpracování geolokačních dat ....................................................................................................126 Výsledný kód ....................................................................................................................................129

K1939.indd 7

1.7.2011 12:44:22


8

Obsah Praktické doplňky .......................................................................................................... 132 Jaký je stav? ......................................................................................................................................132 Zobrazení na mapě ........................................................................................................................134

Shrnutí ............................................................................................................................... 136

Kapitola 5 Komunikační rozhraní ......................................................... 137 Komunikace mezi dokumenty .................................................................................. 138 Zabezpečení na základě původu..............................................................................................140 Podpora komunikace mezi dokumenty ze strany prohlížečů .......................................141 Použití metody postMessage .....................................................................................................142 Ukázka použití metody postMessage .....................................................................................143

Rozhraní XMLHttpRequest Level 2.......................................................................... 149 Požadavky mezi zdroji různých původů ................................................................................149 Stavové události ..............................................................................................................................151 Podpora rozhraní XMLHttpRequest Level 2 prohlížeči.....................................................152 Použití rozhraní XMLHttpRequest ............................................................................................152 Ukázka použití rozhraní XMLHttpRequest ............................................................................154

Praktické doplňky .......................................................................................................... 159 Strukturovaná data ........................................................................................................................159 Framebusting ...................................................................................................................................159

Shrnutí ............................................................................................................................... 160

Kapitola 6 Rozhraní WebSocket ........................................................... 161 Seznámení s rozhraním WebSocket........................................................................ 162 HTTP a komunikace v reálném čase ........................................................................................162 Rozhraní WebSocket......................................................................................................................163

Podpora rozhraní WebSocket ze strany prohlížečů .......................................... 170 Vytvoření jednoduchého serveru WebSocket .................................................... 170 Použití rozhraní WebSocket ....................................................................................... 178 Ověření podpory prohlížeče ......................................................................................................178 Seznámení s rozhraním ................................................................................................................179

Vytvoření aplikace s použitím rozhraní WebSocket.......................................... 183 Soubor HTML ...................................................................................................................................184 Kód pro práci s rozhraním WebSocket ...................................................................................186 Kód pro práci s geolokačním rozhraním................................................................................187 A teď to dáme všechno dohromady .......................................................................................188 Výsledný kód ....................................................................................................................................190

Shrnutí ............................................................................................................................... 193

K1939.indd 8

1.7.2011 12:44:22


Obsah

9

Kapitola 7 Rozhraní HTML5 pro formuláře.......................................... 195 Seznámení s rozhraním HTML5 pro formuláře ................................................... 196 Formuláře HTML vs. XForms .......................................................................................................196 Funkční formuláře ..........................................................................................................................196 Podpora formulářů HTML5 ze strany prohlížečů ................................................................197 Nové ovládací prvky ......................................................................................................................198

Použití formulářů HTML5 ............................................................................................ 202 Nové atributy a metody ...............................................................................................................202 Validace formulářů .........................................................................................................................206 Zobrazení výsledku validace ......................................................................................................210

Vytvoření aplikace s formuláři HTML5 ................................................................... 212 Praktické doplňky .......................................................................................................... 217 Heslo zní validace ...........................................................................................................................217

Shrnutí ............................................................................................................................... 218

Kapitola 8 Rozhraní Web Workers ........................................................ 219 Podpora rozhraní Web Workers prohlížeči ........................................................... 220 Použití rozhraní Web Workers ................................................................................... 220 Ověření podpory prohlížeče ......................................................................................................221 Vytvoření nové instance Web Worker .....................................................................................221 Načítání externích skriptů ...........................................................................................................222 Vzájemná komunikace .................................................................................................................222 Vytvoření hlavní stránky ..............................................................................................................223 Vytvoření skriptu instance Web Worker .................................................................................223 Ošetření chyb ...................................................................................................................................224 Ukončení instance Web Worker ................................................................................................224 Použití rozhraní Web Workers uvnitř instance Web Worker............................................224 Časovače ............................................................................................................................................225 Zdrojový kód ukázky .....................................................................................................................225

Vytvoření aplikace využívající rozhraní Web Workers HTML5 .................................................................................................. 227 Vytvoření skriptu rozmazani.js...................................................................................................228 Vytvoření stránky rozmazani.html ...........................................................................................229 Vytvoření skriptu rozmazaniWorker.js ....................................................................................230 Komunikace s instancemi Web Worker ..................................................................................232 Aplikace v akci .................................................................................................................................233 Kód ukázky ........................................................................................................................................234

Shrnutí ............................................................................................................................... 240

K1939.indd 9

1.7.2011 12:44:22


10

Obsah

Kapitola 9 Rozhraní webového úložiště .............................................. 241 Seznámení s rozhraním webového úložiště ........................................................ 242 Podpora rozhraní v prohlížečích .............................................................................. 243 Použití rozhraní webového úložiště........................................................................ 243 Ověření podpory prohlížeče ......................................................................................................243 Nastavení a získávání hodnot ....................................................................................................245 Úniky dat............................................................................................................................................246 Lokální vs. relační úložiště ...........................................................................................................248 Další metody a vlastnosti rozhraní webového úložiště ....................................................248 Upozornění na aktualizaci obsahu úložiště ..........................................................................250 Prozkoumání obsahu úložiště ....................................................................................................252

Vytvoření aplikace využívající rozhraní webového úložiště .......................... 253 Budoucnost úložišť na straně prohlížečů ............................................................. 266 Praktické doplňky .......................................................................................................... 269 Ukládání objektů JSON.................................................................................................................269 Komunikace mezi okny s použitím úložiště .........................................................................270

Shrnutí ............................................................................................................................... 272

Kapitola 10 Tvorba off-line webových aplikací HTML5 ........................ 273 Seznámení s off-line webovými aplikacemi HTML5 ................................................................................ 273 Podpora off-line webových aplikací HTML5 prohlížeči ....................................................276

Použití rozhraní HTML5 pro off-line webové aplikace .................................................................................. 276 Ověření podpory prohlížeče ......................................................................................................276 Vytvoření jednoduché off-line aplikace .................................................................................276 Práce off-line.....................................................................................................................................277 Soubory manifestu.........................................................................................................................278 Vlastnost applicationCache ........................................................................................................279

Vytvoření aplikace využívající rozhraní pro off-line webové aplikace HTML5 ................................................................... 280 Vytvoření souboru manifestu aplikace...................................................................................282 Vytvoření kódu HTML a CSS .......................................................................................................282 Vytvoření kódu v JavaScriptu.....................................................................................................283 Ověření podpory prohlížeče ......................................................................................................285

K1939.indd 10

1.7.2011 12:44:23


Obsah

11

Přidání obsluhy aktualizačního tlačítka..................................................................................286 Přidání kódu pro sledování polohy ..........................................................................................287 Přidání kódu pro lokální ukládání dat.....................................................................................287 Obsluha událostí spojených s prací v režimu off-line .......................................................288

Shrnutí ............................................................................................................................... 289

Kapitola 11 Budoucnost HTML5 ............................................................. 291 Podpora HTML5 prohlížeči ......................................................................................... 291 Vývoj HTML ...................................................................................................................... 292 WebGL ................................................................................................................................................292 Zařízení ...............................................................................................................................................295 Datová audiorozhraní ...................................................................................................................295 Vylepšení videa ...............................................................................................................................296 Události a dotykové obrazovky .................................................................................................296 P2P sítě ...............................................................................................................................................299 Kam to celé směřuje ......................................................................................................................299

Shrnutí ............................................................................................................................... 300

Rejstřík ................................................................................. 301

K1939.indd 11

1.7.2011 12:44:23


K1939.indd 12

1.7.2011 12:44:23


Předmluva V červnu 2004 se v San José v Kalifornii sešli zástupci komunity sémantického webu, hlavni tvůrci prohlížečů a zástupci W3C, aby probrali další postup související s nárůstem zájmu o webové aplikace. Na konci druhého dne jednání se hlasovalo o tom, zda má organizace W3C rozšířit specifikaci HTML a DOM o nové požadavky na webové aplikace. O pár minut později bylo rozhodnuto: 8 hlasů pro a 14 proti. Tento rozkol názorů vedl k rozdělení snah – o dva dny později vzniklo ve snaze vyřešit vyvstávající problémy těleso WHATWG, tvořené hlavními tvůrci prohlížečů. Mezi tím organizace W3C pracovala na specifikaci XHTML2, která ale o pět let později vešla v zapomnění, a organizace W3C tak zaměřila své úsilí na HTML5, společně s WHATWG. Nyní, o šest let později, se těšíme z úsilí vloženého do návrhu HTML5. Jeho funkce nejenom sjednocují de facto standardy používané řadu let, ale také pokládají základy pro další generaci webových aplikací. Jejich příchod znamená mnohem vstřícnější aplikace pro uživatele a naopak, velmi často, mnohem méně kódu pro vás. V této knize na vás čeká dobře promyšlená učicí křivka, která vás rychle seznámí s funkcemi HTML5 a  s  nimi spojenými specifikacemi. Seznámíte se s  doporučovanými postupy ověření dostupnosti funkcí, patřičnými případy užití a hlavně také s řadou odpovědí na otázky, které ve specifikaci nenajdete. Ukázky kódů, které v knize najdete, nejsou prostou a triviální aplikací daných rozhraní. Naopak, provedou vás tvorbou skutečných webových aplikací. Doufám, že vám tato kniha dobře poslouží, a také, že se zájmem očekáváte novou generaci webu, stejně tak jako já. Paul Irish Člen vývojového týmu Googlu a jQuery a hlavní vývojář knihovny Modernizr

K1939.indd 13

1.7.2011 12:44:23


14

Předmluva

O autorech Peter Lubbers je ředitelem dokumentace a školení ve společnosti Kaazing. Je velkým fandou HTML5 a rozhraní WebSockets, častým mluvčím na mezinárodních konferencích a  školitelem HTML5 po celém světě. Než přišel do společnosti Kaazing, pracoval téměř deset let jako architekt pro Oracle, kde napsal cenami ověnčené knižní tituly a vyvinul řadu softwarových řešení, která čekají na patentování. Narodil se v Nizozemí, kde sloužil v komandu speciálních sil RoyalDutch Green Berets. Žije u národního parku TahoeNationalForest v Kalifornii a ve svém čase rád běhá a účastní se maratonů. Najdete ho i na Twitteru (@peterlubbers). Brian Albers je viceprezidentem vývoje ve společnosti Kaazing. Jeho kariéra v oblasti webového vývoje sahá o více než patnáct let nazpět, včetně nedávné pozice senior manažera vývoje u společnosti Oracle. Vystupuje často na konferencích, jako je Web 2.0 Expo, AJAXWorld Expo a JavaOne, kde se zaměřuje na web a technologie související s uživatelským rozhraním. Narodil se v Texasu a nyní žijící v Kalifornii; každou volnou chvilku tráví na Hawaii. Když zrovna nemůže relaxovat na pláži, tráví svůj volný čas ve virtuálních světech. Frank Salim je jedním z původních zakladatelů společnosti Kaazing, který pomohl s vývojem brány pro rozhraní WebSockets a klientskou strategií. Narodil se v San Diegu a momentálně žije v MountainView v Kalifornii. Má titul v oblasti počítačových věd z univerzity PomonaCollege. Když zrovna neprogramuje, rád si čte, maluje a bruslí.

O odborném korektorovi Paul Hain je vývojář klientských aplikací, který momentálně pracuje v Londýně pro noviny Guardian. Je autorem knihy HTML Mastery: Semantics, Standards and Styling (friendsof ED, 2006) a má svůj vlastní web na adrese www.joeblade.com.

K1939.indd 14

1.7.2011 12:44:23


Poděkování Rád bych poděkoval své ženě Vittorii, za její lásku a trpělivost, a také svým talentovaným synům Seanu a Rockymu – vzhůru ke hvězdám, kluci. Děkuji svým rodičům, Hermanovi a Elisabeth, své sestře Alice a bratrovi Davidovi za neutuchající důvěru v mou osobu a také své babičce Gebbechien za její hrdinské činy při okupaci Holandska nacisty, které byly pro celou naši rodinu velkou lekcí. Děkuji také svým spoluautorům, neúnavnému Brianovi a lidskému generátoru kódu Frankovi za skvělou práci vás obou. Dík patří také Clayovi v Apressu za jeho podporu. Nesmím zapomenout ani na Jonase a Johna z Kaazingu, kteří nás přiměli napsat skutečnou knihu – neoficiální e-kniha by byla pouhým výplodem naší fantazie, tím jsem si jist. - Peter Lubbers

Děkuji svým rodičům, Kenovi a PattyAlbersovým, za jejich neutuchající lásku a oběti, které museli podstoupit proto, abych v životě získal tolik příležitostí a možností. Bez vaší podpory a životních hodnot, které jste mi předali, bych tuto ani žádnou jinou důležitou životní úlohu nedokončil. Doprovázeli jste mě na každém mém kroku. Johnovi patří mé nejvřelejší díky za jeho trpělivost, vždy když se naše práce o hodinu, dvě, tři nebo i více protáhla. Nepřestával jsi mě překvapovat a inspirovat. Děkuji Pitch, Bonnie a Penelope a slibuji, že tak pozdě už večeře nikdy nebude. Děkuji také všem dalším kočkám, které tu byly před nimi, vaše vrnění a předení mě bude provázet. Dík patří mým spolupracovníkům ze společnosti Kaazing, velmi si cením své možnosti pracovat s těmi nejlepšími. Speciální dík patří editorům v Apressu, kteří nám hned od začátku důvěřovali v tom, že nadešel ten správný čas na knihu o HTML5. Také jim děkuji za trpělivost, kterou s námi měli, zatímco jsme se pokoušeli zdokumentovat rychle se pohybující cíl. - Brian Albers

Rád bych poděkoval svým rodičům, Mary a Sabri, kteří jsou zodpovědní za mou existenci a bez kterých by tato kniha nebyla nikdy možná. - Frank Salim

K1939.indd 15

1.7.2011 12:44:25


Věnování Mé krásné ženě Viktorii a mým synům Seanovi a Rockymu. Jsem na vás hrdý! - Peter Lubbers

Johnovi. Díky tobě to stojí za to. - Brian Albers

Lidem, kteří stále čtou knihy. - Frank Salim

K1939.indd 16

1.7.2011 12:44:25


Úvodem HTML5 je naprostou novinkou. O tom nemůže být pochyb už jen proto, že jeho vývoj ještě ani neskončil. Zlomyslné jazyky dokonce tvrdí, že HTML5 nebude připravené dříve než za deset, či dokonce více let. Proč by tedy někoho měla zajímat tato kniha? To je přece jednoduché. Protože pro každého, kdo hledá něco navíc, co by jeho webovou aplikaci vyzdvihlo nad ostatní, je ten pravý čas pro HTML5 právě teď. Autoři této knihy se už více než dva roky podílí na vývoji a výuce technologií spojených s HTML5 a na práci s nimi a s jistotou mohou potvrdit, že rychlost, s jakou jsou tyto nové standardy přijímány, se zvyšuje závratným tempem. Dokonce i v průběhu psaní této knihy jsme museli neustále aktualizovat tabulku podporovaných prohlížečů a přehodnocovat naše domněnky o tom, co je možné použít. Většina uživatelů si neuvědomuje skutečnou sílu dřímající v prohlížečích, které nyní používají. Ano, možná si všimnou menší změny uživatelského rozhraní poté, co dojde k automatické aktualizaci jejich prohlížeče. Nemusí však mít ani potuchy o tom, že tato nová verze umožňuje volné kreslení na stránce anebo síťovou komunikaci v reálném čase či mnohá další potencionální vylepšení. Tato kniha se vám snaží přiblížit možnosti HTML5.

Komu je tato kniha určena Obsah této knihy je určený zkušeným vývojářům webových aplikací znalým programování v JavaScriptu. Jinak řečeno tato kniha nepopisuje základy webového vývoje. Seznámit se se základy webového programování vám mohou pomoci mnohé z existujících zdrojů. Pokud se nacházíte v některé z následujících situací, pak vám tato kniha pravděpodobně poskytne užitečné a cenné informace, které hledáte:

K1939.indd 17

Někdy si říkáte, „Kdyby tak prohlížeč dokázal…“

Pomocí vývojových nástrojů a zdrojového kódu stránky pitváte poměrně zajímavý web.

Se zájmem si čtete informace o nejnovějších aktualizacích prohlížečů, abyste zjistili, co je nového.

1.7.2011 12:44:25


18

Úvodem

Hledáte nové způsoby optimalizace a modernizace vašich aplikací.

Jste ochotní upravit váš web pro jeho návštěvníky s novými prohlížeči tak, abyste zajistili jejich maximální spokojenost.

Nacházíte-li se některé z těchto situací, neměla by tato kniha uniknout vaší pozornosti. Přestože se budeme snažit upozorňovat na omezenou podporu prohlížečů, bude-li to na místě, není naším cílem vytvářet okliky umožňující hladký běh vaší HTML5 aplikace v deset let starém prohlížeči. Praxe potvrdila, že se tato náhradní řešení i základní podpora ze strany prohlížečů vyvíjí tak rychle, že kniha tohoto ražení není nejlepším místem pro tyto informace. Místo toho se zaměříme na specifikaci HTML5 a jeho použití. Detailní náhradní řešení, která časem budou ztrácet na významu, najdete na Internetu.

Co v této knize najdete Jedenáct kapitol této knihy probírá výběr populárních, užitečných a  mocných rozhraní API HTML5. Některé části staví, za účelem nabídnutí co nejbohatších ukázek, na možnostech představených v předchozích kapitolách. Kapitola 1, Seznámení s HTML5, začíná seznámením s předchozími a aktuální verzí specifikace HTML. Kapitola představuje nové sémantické značky vysoké úrovně a tatké se základní změny a důvody, které stojí za veškerými snahami poslední doby o vývoj HTML5. Je dobré znát terén. Kapitola 2, Rozhraní Canvas HTML5, a kapitola 3, Práce s audiem a videem v HTML5, popisují nové vizuální a multimediální elementy. Tyto kapitoly se zaměřují na to, jak snadněji obohatit uživatelské rozhraní bez použití pluginů anebo interakcí se serverem. Kapitola 4, Geolokační rozhraní, představuje zcela novou funkci, kterou doposud nebylo snadné zastoupit, a tou je možnost identifikovat aktuální umístění uživatele, na jehož základě může aplikace pro uživatele upravit své rozhraní.Velmi důležité je z tohoto pohledu zajištění soukromí, a proto v této kapitole probereme také některá z možných úskalí. Následující dvě kapitoly, Komunikační rozhraní a Rozhraní WebSocket HTML5, prezentují stále se zdokonalující způsoby, jakými HTML5 umožňuje komunikovat s ostatními weby a streamovat v reálném čase data aplikaci s maximální jednoduchostí a minimální režií. Techniky popisované v těchto kapitolách umožňují zjednodušení mnoha velmi komplexních architektur, se kterými se dnes na webu setkáte. Kapitola 7, Rozhraní HTML5 pro formuláře, prezentuje minimální zásahy, které můžete v rámci zajištění lepší použitelnosti vaší webové aplikace provést, stejně jako zásadnější změny, které můžete v těch nejběžnějších situacích učinit pro detekci špatně zadaných vstupních údajů.

K1939.indd 18

1.7.2011 12:44:25


Úvodem

19

Kapitoly 8, 9 a 10, Rozhraní Web Workers HTML5, Rozhraní Web Storage HTML5 a Tvorba off-line webových aplikací HTML5, pojednávají o interním chodu aplikací. Najdete zde způsoby optimalizace existujících funkcí vedoucí k dosažení vyššího výkonu a umožňující lepší správu dat. V kapitole 11, Budoucnost HTML5, se pak můžete těšit na pořádnou ochutnávku toho, co ještě přijde.

Kontakt na autory Děkujeme, že jste se rozhodli koupit tuto knihu. Doufáme, že vás bude bavit a že pro vás bude cenným zdrojem informací. Navzdory naší maximální snaze vyvarovat se chybám je nám jasné, že věci někdy nejdou úplně podle plánu, a předem se tak omlouváme za jakákoli podobná pochybení. Uvítáme váš osobní názor, otázky a komentáře týkající se obsahu knihy a zdrojových kódů. Můžete nás kontaktovat e-mailem na adrese prohtml5@gmail.com.

Zpětná vazba od čtenářů Nakladatelství a vydavatelství ComputerPress, které pro vás tuto knihu přeložilo, stojí o zpětnou vazbu a bude na vaše podněty a dotazy reagovat. Můžete se obrátit na následující adresy: redakce PC literatury ComputerPress Spielberk Office Centre Holandská 3 639 00 Brno nebo sefredaktor.pc@cpress.cz

Zdrojové kódy ke knize Z adresy http://knihy.cpress.cz/k1939 si po klepnutí na odkaz Soubory ke stažení můžete přímo stáhnout archiv s ukázkovými kódy.

K1939.indd 19

1.7.2011 12:44:25

Profile for Flexibooks

HTML5_Lubbers_Albers_Salim  

HTML5_Lubbers_Albers_Salim