Dajbych.net


Podporuje Internet Explorer HTML5 dostatečně?

, 7 minut čtení

Často slýchávám ná­zor, že In­ter­net Ex­plorer nepod­poruje HTML5 tech­nolo­gie to­lik, jako ostatní proh­lížeče. Když pře­jdu, že tech­nolo­gie je výrobní postup a domys­lím si, že je řeč o stan­dardech, ste­jně se nemohu zbavit do­jmu, že prav­dou je opak. Míra pod­pory určitě ne­jde vyjádřit jed­ním číslem. A pokud ano, je zapotřebí se zamyslet nad tím, o čem takové číslo vy­povídá. HTML5 je obrovská speci­fikace s mnoha všes­tranně užitečnými a mnoha jed­nos­tranně výhod­nými věcmi.

Co říkají testy

Když navštívím html5test.com tak zjistím, že se mi někdo snaží nakukat, že IE na mém počí­tači nepod­poruje JPEG XR. To je velice přek­va­pivé zjištění, vzh­le­dem k tomu, že právě s tímto for­mátem pracuji ne­jčastěji a této drobné vady jsem si nikdy nevšiml, neh­ledě na to, že jsem nikdy nepostřehl, že by byl JPEG XR součástí speci­fikace HTML5. I když kdo se dnes mimo vývo­jáře we­bových proh­lížečů vyzná v tom, co všechno proběhlo za změny za těch 6 let, co je HTML5 pod křídly W3C.

Zau­jalo mě také, že IE 11 úda­jně nepod­poruje In­dexedDB a Web Cryp­tog­ra­phy API. In­dexDB měl IE od září 2012 a Web Cryp­tog­ra­phy API od října 2013. Pokud má tedy ně­jaké testování prob­lémy s měřením, porovnání na je­jich zák­ladě je pouze ori­en­tační, lze-li o nějaké vy­poví­da­jící hod­notě vůbec mlu­vit. Tak třeba pod­pora gamepadu je po­dle testu ste­jně důležitá, jako pod­pora Poin­ter Events. Zatímco gamepad je užitečný jen pro Xbox One, dotykový dis­plej má dnes každé moderní zařízení.

Podobná, i když ještě daleko horší, byla dřívější si­tu­ace s Acid testem. Ten byl zaměřen ze­jména na chyby proh­lížečů. Jeho skóre vy­jadřo­val počet úspěšných testů. Není na tom nic špat­ného, dokud na tomto měření nezačnete proh­lížeče srovná­vat. Zk­ou­mané chyby ne­j­sou rozprostřeny mezi proh­lížeče rovnoměrně, neh­ledě na to, že něk­teré chyby v proh­lížečích jsou záměrné. In­ter­net Ex­plorer napřík­lad nepod­poroval SVG fonty a zaměřil se místo toho na WOFF. Podobně to bylo se SMIL an­i­mací v SVG, která us­toupila CSS3 an­i­maci. Časem se ste­jně ukázalo, že to nikdo nepouží­val. Pra­covní skupina SVG po čase tento fakt uz­nala a pod­poru těchto dvou věcí změnila na do­bro­vol­nou. Ian Hick­son poté test upravil a světe div se, všemi testy prošel i In­ter­net Ex­plorer 9.

Co znamená specifikace

HTML5 zatím ne­jde pod­porovat úplně. Je to speci­fikace, která se mění a která podléhá ob­chod­ním zájmům společností, které se na její tvorbě podílí. Výrobce im­ple­men­tuje ně­jakou neú­pl­nou speci­fikaci, čímž získá zkušenosti z im­ple­men­tace a tím i sil­nější pos­toj k prosazení svých zájmů. Speci­fikace se v čase mění. Google s Web­Socket dokázal dělat změny tak rychle, že se místo speci­fikace jed­nalo spíše o doku­mentaci nočního ses­tavení. Testy by měly tyto změny re­flek­to­vat, ale tak se často neděje. Mno­hdy tes­tují zas­taralou nebo příliš fu­tur­i­stickou verzi speci­fikace.

Dnes se HTML5 ohání kde kdo, ale použití CSS an­i­mace místo jQuery se vidí stále jen na We­b­Expo. Fakt, že 153 z 500 společností s ne­jvětším obratem v zemi za At­lan­tikem pod­poruje HTML5, je pouze blábol. Pod­porovat HTML5 ze strany we­bového vývo­jáře je něco, čemu se nevy­hne, ani kdyby chtěl. Proh­lížeče totiž po­dle speci­fikace HTML5 upravují i své quirks vykreslo­vací režimy. O všech ne­jpouží­vanějších proh­lížečích dnes platí, že HTML5 proh­lížeči, i když po­dle ne­dokončené speci­fikace, prostě jsou, pro­tože v sobě ne­mají (až na In­ter­net Ex­plorer, kde je si­tu­ace složitější) vykreslo­vací režim us­tr­nulý v době ka­menné.

Co přináší vývojové cykly

Zato graf, který zná­zorňuje průběh výsledků měření za poslední roky, mě vysloveně zau­jal. Ukazuje něco, co jsem chtěl pro jednu ze svých před­nášek zná­zor­nit také. Vzh­le­dem k tomu, že něk­teré proh­lížeče chytily určité lin­ux­ové ten­dence a vy­dá­vají nové verze kaž­dou chvíli, vy­padají po většinu času opticky lépe, než je­jich konkurence. Důležitější je však přeh­led o tom, na jakých zařízeních je kdy která verze dos­tupná. Nezřídka kdy se lze setkat s po­di­vným ob­chod­ním rozhod­nutím udělat místo důrazu na kom­pat­i­bil­itu se staršími proh­lížeči zvláštní verzi webu pro iPad, který má menší tržní podíl než In­ter­net Ex­plorer 8.

Možná vás na­padne, že Mi­crosoft chce také držet krok s rych­lým vy­dáváním, když zkracuje své vývo­jové cykly. Vůbec to s tím ale ne­sou­visí. Hlavní zá­jem je eko­nomický. Mít pro každý soft­warový výrobek jiný vývo­jový cyk­lus přináší velké nák­lady na udržení kom­pat­i­bil­ity mezi nimi. Když Mi­crosoft vydá novou verzi Win­dows a In­ter­net Ex­ploreru současně, ušetří nák­lady na nezbytné úpravy starších Win­dows pro běh nového In­ter­net Ex­ploreru. A ne­jde jen o op­er­ační sys­tém a proh­lížeč, ale i o Vi­sual Stu­dio a další soft­warové kolosy. Vývo­jář, který dříve pra­co­val na běhu nového proh­lížeče na starém sys­tému, může nyní pra­co­vat na pod­poře nové speci­fikace v nové verzi proh­lížeče.

Co usnadní zpětná kompatibilita

Pod­pora nových důležitých funkcí pro všechny pod­porované verze tu byla pří­tomna vždy skrze Win­dows Up­date. Každý měsíc sle­duji, co ak­tu­al­izace pro In­ter­net Ex­plorer ob­sahují. Samozře­jmě, že se jedná přede­vším o posílení bezpečnosti, což ve většině přík­ladů zna­mená zvýšení odol­nosti překladačů proti chy­bovým vs­tupům. Často ale ob­sahují také opravy chyb­ného vykreslování, tedy zvýšení kval­ity im­ple­men­tace ně­jakého stan­dardu. Pravda, nikdy nepřibude napřík­lad pod­pora nové úrovně CSS, pro­tože není co přidá­vat.

Vývo­jáři In­ter­net Ex­ploreru se snaží speci­fikace pod­porovat buď v ne­jvyšší možné míře, nebo vůbec. Žádné mezis­tupně vy­dá­vané každých něko­lik týdnů. Od částečné nebo pokusné pod­pory tu máme Pre­view verze, které vyj­dou jen když je k tomu do­brý důvod. Nov­ináři ne­mají o čem psát, reklama na co vábit, vývo­jáři co zk­ou­mat. Má to však ne­s­pornou výhodu v tom, že pokud IE něco pod­poruje, tak je spoleh na to, že to fun­guje jak má. Tedy přes­něji jak mělo v době, kdy im­ple­men­tace vznikala. Může se ještě někdy změnit. Příliš časná im­ple­men­tace stan­dardu je riskování ztráty zpětné kom­pat­i­bil­ity v bu­doucnu. Její využití zavazuje vývo­jáře svůj web neustále hlí­dat, jestli ty nezbytné funkce, které dříve pod­poroval jen jeho oblíbený proh­lížeč, stále fun­gují tak, jak fun­go­valy v min­ulé verzi.

Co je vlastně potřeba

Podíve­jte se na stan­dardy, které skutečně potře­bu­jete a de­jte mi vědět, které IE nemá. Mi­crosoft má velkou zkušenost s tím, z jakých kom­po­nent se naprostá většina uži­va­tel­ského rozhraní ap­likací sk­ládá. Jsou ve Vi­sual Studiu v pan­elu Tool­box. Ně­jaký ten HTML5 ek­vi­va­lent postrádá už jen Cal­en­dar, Rich­Text­Box a Slider. Připomínám, že Grid už je díky Mi­crosoftu součástí CSS3 a pod­poruje ho IE od verze 10. Di­rectX dos­tupné na webu máme, jen je přemapo­vané na We­bGL. Ostatně HTML5 ap­likace je možné od Win­dows 7 slušně a od Win­dows 8 plně in­te­grovat do op­er­ačního sys­tému. Víte, že dříve po­jem HTML5 zahrno­val užší skupinu speci­fikací jen okolo samot­ného HTML a ten s dalšími oblastmi jako CSS3, Con­nec­tiv­ity, Of­fline & Stor­age nebo 3D, Graph­ics & Ef­fects měl zastřešu­jící název Web Ap­pli­ca­tions? Až později se po­jem HTML5 těšil takové oblibě, že nahradil Web Ap­pli­ca­tions. A já se ptám: umožní mi Chrome OS, Fire­fox OS či OS X in­te­grovat we­bovou ap­likaci do op­er­ačního sys­tému v takové míře, v jaké mi to teď umožňuje OS Win­dows?