Martin Michálek Martin Michálek  – 29. 3. 2016

Phillip Walton pro Smashing Magazine napsal vynikající materiál o vznikající W3 specifikaci, která může dramaticky změnit vývoj CSS. Houdini.

Představte si, že si vymyslíte vlastní, úplně nový, typ layoutu v CSS, naprogramujete ho a zveřejníte jako polyfill. Další webaři si jej stáhnou a přiloží ke svým webům. A ve všech prohlížečích to – světe div se – bude fungovat.

Nebo si představte, že stáhnete polyfill pro Flexbox, který bude konzistentně fungovat ve všech prohlížečích. A bez přehnaných nároků na výkon.

Houdini je W3 specifikace v rané fázi vývoje, která přesně tohle může zařídit. Jde o návrh postupů, kterými by výrobci prohlížečů mohli sjednotit a vývojářům přes API zpřístupnit různé části vykreslovacího procesu.

Současné pokusy o polyfilování CSS se týkají jen DOMu a proto jsou obvykle neúspěšné

Aktuálně renderování probíhá nějak takhle:

Parsování → DOM & CSSOM → Kaskáda → Layout 
  → Vykreslení (Paint) → Složení (Composite)

Jenže my vývojáři se Javacriptem dostaneme jen do DOMu a částečně CSSOMu. V CSSOMu ale nemáme přístup k vlastnostem, které prohlížeč nezná. A ejhle – přidávát vlastnosti co prohlížeč nezná – to je přesně to co pro polyfilovaní potřebujete.

Proto se veškeré pokusy o polyfilování stylů javascriptem točí kolem DOMu a proto je to obvykle takový průšvih na výkon během vykreslování a v zásadě se moc nedělá.

Houdini se tedy přes aplikační rozhraní snaží zpřístupnit všechny kroky vykreslování.

Hudba budoucnosti? Možná. Podle článku si ale všichni výrobci prohlížečů odsouhlasili, že o něco takového mají zájem. Chcete to i vy? Teď asi nejvíc pomůže ukázat zájem. Pro začátek Houdinimu ohvězdičkujte repozitář a sledujte Vzhůru dolů na sociálních sítích. Občas o tom něco napíšu.