Novinky v Internet Exploreru 9
16. dubna 2010 – 24. června 2010
Autor: Václav Dajbych, MSP

Internet Explorer má velmi dobrou podporu CSS 2. Jeho vývojáři se rozhodli udělat takto kvalitní implementaci i ostatních technologií, zejména CSS 3, DOM, SVG, ES5 a mnoho částí HTML 5. Přibyl XML parser. Připravovaná verze nabídne víc novinek, než nabídla kterákoliv verze předchozí. Část výpočtů se také přesunula na grafickou kartu. Od sedmé verze byly všechny hlavní části prohlížeče přepsány.
Internet Explorer interpretuje streamy (HTML, CSS, …) a staví z nich DOM (Document Object Model). To je hlavní část prohlížeče a byla přepsána během vývoje IE8. Nyní byla ještě více optimalizována. DOM se nevykresluje přímo, hlavně kvůli CSS. Z DOM se nejprve sestaví strom elementů, na který se uplatní veškeré vlastnosti CSS, který se následně vykresluje. Tato část byla přepsána během vývoje IE9 a měl jí na starosti Ted Johnson, který programoval grafiku Windows už v roce 1985. Za osmnáct měsíců, během kterých tým IE rozšířil, nastala podstatná změna v oblasti, ve které IE počítá grafiku. Přesunula se z CPU na GPU. Běh prohlížeče tak výrazně zrychlí například na netboocích.

Nový javascriptový engine, který je nazýván Chakra, se od ostatních enginů liší. Optimalizuje javascriptový kód na pozadí. Původní kód se pak nahradí kódem optimalizovaným. Uživatel tak nemusí čekat, než JIT zkompiluje a optimalizuje kód, který se má provést už během načítání stránky. Tento kód je proveden okamžitě bez náročných optimalizací novým rychlým interpretem. Během načítání stránky tedy probíhají paralelně v zásadě čtyři důležité věci – stavba DOM, průběžné vykreslování stránky, kompilace spolu s optimalizací javascriptového kódu a rychlé vykonávání javascriptového kódu jen se základní optimalizací.
Nejvíce žádanou změnou je podpora poloprůhledných barev, která se doposud obchází vložením poloprůhledného PNG obrázku na pozadí elementu. Barvy lze tedy v CSS nastavovat pomocí rgba() i hsla(), což je mnohem lepší než opacity, který zprůhlední vše včetně obsahu. Typicky je potřeba zprůhlednit jen pozadí.
Novinky IE9 v oblasti CSS zahrnují podporu CSS 3 selektorů, vlastnost border-radius, více obrázků na pozadí i stín block elementu. Jsou podporovány i nové grafické formáty, a sice JPEG XR a TIFF spolu s barevnými profily verze ICC 4 a 2. Zkrátka nepřišla ani vektorová grafika. IE9 přinese podporu SVG, který lze vložit přímo do HTML a přistupovat k SVG elementům přes DOM.
Mezi hlavní novinky ohledně HTML 5 se řadí podpora tagu <video> s formáty MPEG-4/H.264 a tagu <audio> s formáty MP3/AAC. Ohlášena byla podpora DOM 2 a 3 a z toho vyplývající podpora standardního modelu událostí – EventListeneru. Změní se i způsob, jakým se IE chová k neznámým elementům. Například použití tagu <article> dělalo problémy, pokud k němu vývojář chtěl přistoupit přes DOM. IE9 už do DOM zahrnuje i neznámé elementy.
Novum v IE9 je také tag <canvas>, který vykresluje grafiku. Na rozdíl od SVG, které je určeno spíše pro statické diagramy či grafy, je canvas určený pro dynamicku scénu složenou z vektorové i rastrové grafiky. Obsah tagů video i canvas je počítaný na GPU. Canvas poskytuje přes JavaScript sadu kreslících funkcí. Jedná se o plnohodnotné 2D API. Jeho možnosti předvedl tým společnosti Google, který vytvořil port hry Quake II běží v internetovém prohlížeči.
Dlouho očekávaná podpora XHTML je konečně tady. Nová verze má zabudovaný XML parser, takže přijímá i stránky s hlavičkou application/xhtml+xml. Zároveň jsou takto podané stránky zpracovány v nejnovějším vykreslovacím režimu a ani se nejde přepnout do režimu staršího. Od sedmé verze Internet Exploreru má každá nová verze také nový vykreslovací režim.