čtvrtek 27. prosince 2007

Funkce getElementsByClassName má již několik implementací

Nedávno byla oznámena implementace funkce getElementsByClassName ve WebKitu. Po její implementaci v Opeře (dle Wikipedie již v připravované verzi 9.5) a implementaci v chystaném Firefoxu 3 máme opět trojku prohlížečů S.O.F. (neboli Safe Our Fear) kompletní.

Funkce getElementsByClassName je součástí specifikace HTML5, konkrétně části rozšiřující stávající DOM2 HTML. Své popularity se dočkala zejména s rozšířením tzv. přístupu unobtrusive JavaScript, který se snaží o lepší oddělení obsahu HTML stránky od popisu jejího chování pomocí JavaScriptu, a který výběr značek podle nastavené třídy hojně používá.

Funkce getElementsByClassName zpopularizovala, když se stala součástí trendových JavaScriptových knihoven, prostřednictvím kterých ji weboví vývojáři již delší dobu používají. Není divu, že někteří po jejím začlenění do DOM už nějaký čas volali.

Jelikož nativní implementace getElementsByClassName je rychlejší než jak její stávající JavaScriptová implementace, tak její implementace pomocí XPath, bude jistě v nových verzích trendových JavaScriptových knihoven využita.

Je to další ukázka, kdy nevadí, že v některých prohlížečích není novinka HTML5 dosud implementována. (Ostatně právě s tímto přístupem začala být HTML5 specifikace vytvářena.) Weboví vývojáři používající některou knihovnu (např. prototype) budou tvořit aplikace fungující všude. Ale v prohlížečích, které mají nativní podporu getElementsByClassName, bude aplikace běhat o něco rychleji.

pondělí 24. prosince 2007

Seznámení s HTML5 na Intervalu

Interval.cz nám na štědrý den nadělil dárek v podobě překladu Seznámení s HTML 5 původně vydaném na A List Apart.

Text od Lachlana Hunta (člen HTML WG i WHATWG) do češtiny přeložil Vilém Málek.

HTML WG nám svůj dárek nadělí sice až v lednu v podobě prvního draftu HTML5. Každopádně já se už teď moc těším.

Pěkné Vánoce všem.

úterý 11. prosince 2007

Kam zmizelo OGG?

Po Internetu se rozšiřují zprávy o tlaku ze stran komerčních společností, kterým se podařilo ze specifikace HTML5 vyřadit doporučení OGG kodeku.

Nestihl jsem si ještě přečíst všechny diskuse týkající se této změny, ale zprávy zmiňující se o nátlaku mi připadají poněkud zaujaté a vyjádřil jsem to i na Rootovi.

Celý shon je pro tuto (jistě důležitou, ale ne definitivní) změnu:
- <p>User agents should support Ogg Theora video and Ogg Vorbis audio,
- as well as the Ogg container format. <a
- href="#refsOggTheora">[THEORA]</a> <a
- href="#refsOggVorbis">[VORBIS]</a> <a href="#refsOgg">[OGG]</a></p>
- <!-- (it's not a MUST because some vendors may have legal reasons
- why they can't or won't support it, and there's no point making them
- non-conforming when they have no choice in the matter) -->
+ <p class="big-issue">It would be helpful for interoperability if all
+ browsers could support the same codecs. However, there are no known
+ codecs that satisfy all the current players: we need a codec that is
+ known to not require per-unit or per-distributor licensing, that is
+ compatible with the open source development model, that is of
+ sufficient quality as to be usable, and that is not an additional
+ submarine patent risk for large companies. This is an ongoing issue
+ and this section will be updated once more information is
+ available.</p>

Tedy místo stávajícího doporučení OGG:
User agents should support Ogg Theora video and Ogg Vorbis audio, as well as the Ogg container format
se zde objevila zmínka o potřebě nalezení společného videa pro web bez jeho bližší specifikace. Není divu, že to fanouškové OGG formátu těžce nesou.

Je zajímavé, že kritikové tuto změnu označují za nebezpečí rozmachu DRM a uzavřených formátů, aniž by si ověřili, že editor Ian Hickson, který tuto změnu provedl, je ve skutečnosti dlouholetý fanoušek free software.

Požadavek vznesl zástupce Nokie s tím, že by se doporučení OGG nemělo dostat do prvního draftu, k jehož vydání se HTML WG snad již někdy konečně odhodlá.

Nic nebrání tomu, aby se po zralé úvaze doporučení OGG do HTML5 opět dostalo, a může se tomu tak i stát, ale určitě to bude po pečlivém výběru z dostupných možností. Nepochybuji, že u vybrané možnosti bude brána v úvahu i její implementace v prohlížečích spadajících do free software a nejen proto, že je do něj fanda editor specifikace.

Níže pár odkazů pro ty, kdo si to chtějí pročíst detailněji:
Delete "should support Ogg" clause before publishing FPWD?
Removal of Ogg is *preposterous* (celé vlákno)

Canvas prošel hlasováním

O značce canvas, která je již dnes implementována v některých prohlížečích, jsem již opakovaně psal. Nedávno v HTML WG proběhlo hlasování, které mělo určit, zda canvas bude nebo nebude obsažen v HTML5.

Zde jsou výsledky:
pro 40
proti 10
k většině 7
zdrželi se 3

Dan Connolly výsledky rozebírá a potvrzuje, že alespoň prozatím canvas v HTML5 zůstává:
Despite lack of consensus, unless and until new information arises that merits reconsidering the issue, we are resolved to close ISSUE-15 immediate-mode-graphics by accepting a requirement for an immediate mode graphics API and canvas element.
Nicméně argumenty proti mohou být ještě v budoucnu vzneseny. Mezi nimi se opakovaně objevuje názor, že by canvas měl být řešen mimo HTML WG a tedy mimo specifikaci HTML5.

Z pohledu webových vývojářů je ve výsledku jedno, kdo a kde canvas specifikuje, důležitá je konzistentní podpora v prohlížečích.

Já sám jsem z této diskuse trochu zmatený. Ian Hickson již dříve poznamenal, že canvas patří mezi nejzralejší části specifikace a začíná být běžně používaný (a to dokonce většími hráči, je používán např. v Yahoo! Pipes). Diskuse, zda takový prvek vůbec do specifikace zahrnout či nikoliv mi připadá jako postavená na hlavu.

úterý 4. prosince 2007

O HTML5 na A List Apart

Na A List Apart vyšel článek A Preview of HTML 5, jehož autorem je Lachlan Hunt (aktivní člen WHATWG i HTML WG nedávno nastoupivší u Opera Software).

Lachlan připomíná okolnosti vzniku HTML5 a shrnuje základní body připravované specifikace. V případě, že byste raději přehledný text v češtině, přečtěte si články Davida Majdy na Lupě.

neděle 2. prosince 2007

3D canvas pro Firefox

Po Opeře, která vydala verzi s 3D canvasem přišel nedávno s třetí dimenzí i prohlížeč Firefox. Zatím v podobě rozšíření pro Firefox 3.x.

Autor implementace Vladimir Vukićević o ní říká:
There are two contexts provided by the extension. "moz-gles11" follows the OpenGL ES 1.1 spec very closely, providing an almost identical API and feature set, and "moz-glweb20" follows OpenGL ES 2.0 closely. Both are implemented directly on top of desktop OpenGL, so you must have support for at least OpenGL 1.5 on the desktop for the "moz-gles11" context and OpenGL 2.0 for the "moz-glweb20" context.
Na rozdíl od Opery, která zvolila návrh vlastního jednoduchého API se 3D rozhraní Firefoxu drží standardu OpenGL. To jej více přibližuje stávajícím tvůrcům OpenGL aplikací, ale činí jej cizí webovým vývojářům (přiznejte se, kdo z vás umí OpenGL?).

Vlado se domnívá, že se objeví nadstavbové knihovny, které OpenGL rozhraní v sobě skryjí a nabídnou webovým vývojářům jednoduché ovládání.

Jaký přístup byste preferovali vy?

(via: Vlad1.com)