čtvrtek 28. února 2008

HTML5 a budoucnost webu

Příští týden ve čtvrtek 6.3. budu mít prezentaci na téma HTML5 a budoucnost webu. V té se budu věnovat zejména hlavním novinkám, které přináší HTML5. Pokud vás vývoj webu zajímá, přijďte se podívat.

Akce proběhne v rámci pravidelných setkání PROWAS (Prague Opera Web Appreciation Society) v Hostinci u Hloupého Honzy nedaleko Vodičkovy ulice a začíná v 18.00h.

Máte-li něco, co byste o HTML5 určitě chtěli slyšet, napište mi to do komentářů.

Prezentace ke stažení (prezentační mód zapnete odkazem vpravo nahoře, ale některé odkazy jsou viditelné pouze v jednoduchém zobrazení).
Diskusní fórum, kam můžete psát své dotazy nebo náměty k přednášce.

sobota 23. února 2008

IE tým píše do WHATWG

Členy WHATWG jsou zástupci výrobců hlavních webových prohlížečů. Tedy všech hlavních kromě Microsoftu. Ten byl již dříve do skupiny pozván, ale jejím členem se nestal.

Mile mě překvapilo, když včera do mailinglistu WHATWG dorazil (pokud vím, tak historicky první!) mail od členů IE-týmu.

Mail s předmětem IE Team Feedback on HTML 5.0 Cross Document Messaging se vyjadřuje k části HTML5 specifikace týkající se posílání zpráv mezi okny (resp. dokumenty) prohlížeče.

Celá událost, která překvapila i Iana Hicksona, nemusí nic závratného znamenat, ale přesto se jedná o malý historický mezník. Jsem zvědav, zda nezůstane jen u něj.

BTW. tentýž mail dorazil i do veřejného W3C mailing listu.

neděle 17. února 2008

Kolik testů bude potřeba pro HTML5?

Jedním z hlavních cílů HTML5 je interoperabilita. Na mé páteční přednášce o HTML5 v SoftEU padl jeden dotaz právě na ní.

Po dopsání specifikace (odhadem v letech 2010 - 2012) budou vytvořeny testy na její jednotlivé části. Hrubý odhad hovoří o 20 000 testech, které budou detailně ověřovat implementace HTML5 v prohlížečích (pro srovnání takový Acid3 obsahuje 100 testů).

Pokud se na základě zkušeností implementátorů naleznou ve specifikaci nedostatky (neimplementovatelné požadavky, dvouznačnosti nebo nejasnosti ve specifikaci atd.), budou specifikace a kontrolní testy opraveny, následně se testy opět provedou atd., až vzniknou minimálně dvě shodné implementace HTML5. Na to je vyčleněno zhruba 10 let.

Jsem zvědav, zda bude cíl, který se za celou stávající historii webu nepodařilo nikomu naplnit (dvě stejně se chovající implementace HTML neexistují!), do slibovaného roku 2022 dosažen.

Pro nasazení HTML5 na webu to sice nebude mít přímý vliv, to bude možné již v období 2010-2012 (připomínám, že některé části HTML5 jsou v prohlížečích implementované již dnes), ale vidina plně interoperabilního webu je stále lákavá.

Více viz FAQ - When will HTML 5 be finished?

středa 13. února 2008

Připravuje se příručka HTML5 pro webové vývojáře

HTML5 specifikace není přímo určená pro webové vývojáře a ti se čas od času oprávněně ptají, kdy vyjde dokument, který pro ně určený je.

Jedním z takových je přehledový dokument Rozdíly HTML5 oproti HTML4, ale teprve nedávno začal Lachlan Hunt vytvářet The Web Developer’s Guide to HTML 5 (odkaz vede na rozepsaný draft). Vytváření takového dokument nebývá pravidlem, ale určitě jej mnozí ocení.
The main area that has not been adequately addressed by HTML is a vague subject referred to as Web Applications. HTML5 attempts to rectify this, while at the same time updating the HTML specifications to address issues raised in the past few years. However, the HTML5 specification is very much written to meet the needs of implementers rather than web designers and developers, making it more difficult to read and understand. This document is intended to meet the needs of web developers by focussing on document conformance criteria and authoring guidelines.
(via Karl Dubost: Authoring HTML 5)

neděle 10. února 2008

Zprávy mezi okny z různých domén ve Firefoxu

V nočních verzích Firefoxu 3 bylo implementováno rozhraní pro zasílání zpráv mezi jednotlivými okny prohlížeče. HTML5 definuje funkci window.postMessage() pro zaslání textové zprávy jinému oknu prohlížeče i v případě, že se pochází z jiné domény.

Tzv. cross-window messaging (dříve též nazývaný cross-document messaging) rozšiřuje možnosti webových aplikací, například dnes tolik oblíbených widgetů.

Pokud máte noční verzi Firefoxu, pak si zaslání řetězce (poslat lze vždy jen řetězec) mezi doménami můžete vyzkoušet na jednoduchém příkladu.

Ačkoliv Opera funkci postMessage() ve svých vývojových verzích 9.5 implementovala již dříve, výše uvedený příklad v ní nefunguje. Specifikace HTML5 totiž původně definovala postMessage() coby metodu dokumentu nikoliv okna. To se loni změnilo a Opera změnu bude brzy následovat.

Více o zasílání zpráv včetně otázek bezpečnosti najdete v článku Johna Resiga Cross-Window Messaging.

Vyhledávání podle CSS selectorů ve WebKitu

V posledních nočních buildech WebKitu (prohlížeč Safari) najdete nativní implementaci funkcí querySelector() a querySelectorAll().

Obě funkce jsou součástí specifikace Selectors API, o jejíž přípravě jsem se zmiňoval loni v létě, a umožňují snadné vyhledávání elementů pomocí syntaxe známé z CSS. Například document.querySelectorAll("#menu :visited"); vrátí všechny odkazy z menu, které již uživatel navštívíl.

Podobný přístup se dnes používá v řadě knihoven (jQuery, Prototype a další). Cílem specifikace Selectors API je používané přístupy sjednotit. Nativní implementace v prohlížečích bude navíc oproti javascriptovým knihovnám rychlejší, o čemž se můžete přesvědčit na testovací stránce. Na mém počítači běží nativní implementace (poslední sloupec tabulky) více jak o jeden řád rychleji, posuďte sami:

Webkit je první jádro, které zmíněné funkce implementovalo, proto zatím asi nikdo nebude obě volání používat přímo. Je více než pravděpodobné, že nové verze javascriptových knihoven budou rozpoznávat prohlížeče s nativní implementací a sami vyberou rychlejší variantu. Kód tak bude fungovat všude, ale v některých prohlížečích mnohem rychleji.