Dajbych.net


Podporuje Internet Explorer HTML5 dostatečně?

, 9 minut čtení

Často slý­chá­vám ná­zor, že In­ter­net Ex­plo­rer ne­pod­po­ruje HTML5 tech­no­lo­gie to­lik, jako ostatní pro­hlí­žeče. Když pře­jdu, že tech­no­lo­gie je výrobní po­stup a do­mys­lím si, že je řeč o stan­dar­dech, stejně se ne­mohu zba­vit dojmu, že prav­dou je opak. Míra pod­pory ur­čitě nejde vyjá­d­řit jed­ním čís­lem. A po­kud ano, je za­po­třebí se zamys­let nad tím, o čem ta­kové číslo vy­po­vídá. HTML5 je ob­rov­ská spe­ci­fi­kace s mnoha vše­stranně uži­teč­nými a mnoha jed­no­stranně výhod­nými věcmi.

Co říkají testy

Když na­vští­vím html5test.com tak zjis­tím, že se mi ně­kdo snaží na­ku­kat, že IE na mém po­čítači ne­pod­po­ruje JPEG XR. To je ve­lice pře­kva­pivé zjiš­tění, vzhle­dem k tomu, že právě s tímto for­má­tem pracuji nej­čas­těji a této drobné vady jsem si ni­kdy ne­všiml, ne­hledě na to, že jsem ni­kdy ne­po­střehl, že by byl JPEG XR sou­částí spe­ci­fi­kace HTML5. I když kdo se dnes mimo vý­vo­jáře we­bo­vých pro­hlí­žečů vy­zná v tom, co všechno proběhlo za změny za těch 6 let, co je HTML5 pod kří­dly W3C.

Za­ujalo mě také, že IE 11 údajně ne­pod­po­ruje In­de­xedDB a Web Cryp­to­gra­phy API. In­de­xDB měl IE od září 2012 a Web Cryp­to­gra­phy API od října 2013. Po­kud má tedy ně­jaké tes­to­vání problémy s měřením, po­rov­nání na je­jich zá­kladě je pouze ori­en­tační, lze-li o nějaké vy­po­ví­dající hod­notě vů­bec mlu­vit. Tak třeba pod­pora ga­me­padu je podle testu stejně dů­le­žitá, jako pod­pora Poin­ter Events. Zatímco ga­me­pad je uži­tečný jen pro Xbox One, do­ty­kový dis­plej má dnes každé mo­derní za­ří­zení.

Po­dobná, i když ještě daleko horší, byla dří­vější si­tuace s Acid tes­tem. Ten byl zamě­řen zejména na chyby pro­hlí­žečů. Jeho skóre vyja­d­řo­val po­čet úspěšných testů. Není na tom nic špat­ného, do­kud na tomto mě­ření ne­začnete pro­hlí­žeče srov­ná­vat. Zkou­mané chyby nejsou roz­prostřeny mezi pro­hlí­žeče rov­no­měrně, ne­hledě na to, že ně­které chyby v pro­hlí­že­čích jsou zá­měrné. In­ter­net Ex­plo­rer na­pří­klad ne­pod­po­ro­val SVG fonty a zamě­řil se místo toho na WOFF. Po­dobně to bylo se SMIL ani­mací v SVG, která ustou­pila CSS3 ani­maci. Ča­sem se stejně uká­zalo, že to ni­kdo ne­po­u­ží­val. Pra­covní sku­pina SVG po čase tento fakt uznala a pod­poru těchto dvou věcí změ­nila na dob­ro­vol­nou. Ian Hick­son poté test upra­vil a světe div se, všemi testy pro­šel i In­ter­net Ex­plo­rer 9.

Co znamená specifikace

HTML5 zatím nejde pod­po­ro­vat úplně. Je to spe­ci­fi­kace, která se mění a která pod­léhá ob­chod­ním zá­jmům spo­leč­ností, které se na její tvorbě podílí. Výrobce im­ple­men­tuje ně­ja­kou neú­pl­nou spe­ci­fi­kaci, čímž získá zku­še­nosti z im­ple­men­tace a tím i sil­nější po­stoj k pro­sa­zení svých zá­jmů. Spe­ci­fi­kace se v čase mění. Go­o­gle s Web­Socket do­ká­zal dě­lat změny tak rychle, že se místo spe­ci­fi­kace jed­nalo spíše o do­ku­men­taci noč­ního se­sta­vení. Testy by měly tyto změny re­flek­to­vat, ale tak se často ne­děje. Mnohdy tes­tují za­sta­ralou nebo pří­liš futu­ris­tic­kou verzi spe­ci­fi­kace.

Dnes se HTML5 ohání kde kdo, ale po­u­žití CSS ani­mace místo jQuery se vidí stále jen na We­bExpo. Fakt, že 153 z 500 spo­leč­ností s nej­vět­ším ob­ra­tem v zemi za At­lan­ti­kem pod­po­ruje HTML5, je pouze blá­bol. Pod­po­ro­vat HTML5 ze strany we­bo­vého vý­vo­jáře je něco, čemu se ne­vy­hne, ani kdyby chtěl. Pro­hlí­žeče totiž podle spe­ci­fi­kace HTML5 upra­vují i své quirks vy­kres­lo­vací re­žimy. O všech nej­po­u­ží­va­něj­ších pro­hlí­že­čích dnes platí, že HTML5 pro­hlí­žeči, i když podle ne­do­kon­čené spe­ci­fi­kace, prostě jsou, pro­tože v sobě ne­mají (až na In­ter­net Ex­plo­rer, kde je si­tuace slo­ži­tější) vy­kres­lo­vací re­žim ustr­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 po­slední roky, mě vy­slo­veně za­ujal. Uka­zuje něco, co jsem chtěl pro jednu ze svých před­ná­šek zná­zor­nit také. Vzhle­dem k tomu, že ně­které pro­hlí­žeče chy­tily ur­čité li­nu­xové ten­dence a vy­dá­vají nové verze kaž­dou chvíli, vy­pa­dají po vět­šinu času op­ticky lépe, než je­jich kon­ku­rence. Dů­le­ži­tější je však pře­hled o tom, na jakých za­ří­ze­ních je kdy která verze do­stupná. Ne­zřídka kdy se lze se­tkat s po­div­ným ob­chod­ním roz­hod­nutím udě­lat místo dů­razu na kom­pa­ti­bi­litu se star­šími pro­hlí­žeči zvláštní verzi webu pro iPad, který má menší tržní podíl než In­ter­net Ex­plo­rer 8.

Možná vás na­padne, že Micro­soft chce také dr­žet krok s rychlý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­no­mický. Mít pro každý soft­wa­rový výro­bek jiný vý­vo­jový cyklus při­náší velké ná­klady na udr­žení kom­pa­ti­bi­lity mezi nimi. Když Micro­soft vydá no­vou verzi Win­dows a In­ter­net Ex­plo­reru sou­časně, uše­tří ná­klady na ne­zbytné úpravy star­ších Win­dows pro běh no­vého In­ter­net Ex­plo­reru. A nejde jen o ope­rační systém a pro­hlí­žeč, ale i o Vi­sual Stu­dio a další soft­wa­rové ko­losy. Vý­vo­jář, který dříve pra­co­val na běhu no­vého pro­hlí­žeče na starém systému, může nyní pra­co­vat na pod­poře nové spe­ci­fi­kace v nové verzi pro­hlí­žeče.

Co usnadní zpětná kompatibilita

Pod­pora no­vých dů­le­ži­tých funkcí pro všechny pod­po­ro­vané verze tu byla pří­tomna vždy skrze Win­dows Up­date. Každý měsíc sle­duji, co ak­tua­li­zace pro In­ter­net Ex­plo­rer ob­sahují. Sa­mo­zřejmě, že se jedná pře­de­vším o po­sílení bez­peč­nosti, což ve vět­šině pří­kladů zna­mená zvý­šení odol­nosti pře­kla­dačů proti chy­bo­vým vstu­pům. Často ale ob­sahují také opravy chyb­ného vy­kres­lo­vání, tedy zvý­šení kva­lity im­ple­men­tace ně­ja­kého stan­dardu. Pravda, ni­kdy ne­při­bude na­pří­klad pod­pora nové úrovně CSS, pro­tože není co při­dá­vat.

Vý­vo­jáři In­ter­net Ex­plo­reru se snaží spe­ci­fi­kace pod­po­ro­vat buď v nej­vyšší možné míře, nebo vů­bec. Žádné me­zi­stupně vy­dá­vané kaž­dých ně­ko­lik týdnů. Od čás­tečné nebo po­kusné pod­pory tu máme Pre­view verze, které vyjdou jen když je k tomu dobrý dů­vod. No­vi­náři ne­mají o čem psát, re­klama na co vá­bit, vý­vo­jáři co zkou­mat. Má to však ne­spor­nou výhodu v tom, že po­kud IE něco pod­po­ruje, tak je spo­leh na to, že to fun­guje jak má. Tedy přes­něji jak mělo v době, kdy im­ple­men­tace vzni­kala. Může se ještě ně­kdy změ­nit. Pří­liš časná im­ple­men­tace stan­dardu je ris­ko­vání ztráty zpětné kom­pa­ti­bi­lity v bu­doucnu. Její vyu­žití za­va­zuje vý­vo­jáře svůj web ne­u­stále hlí­dat, jestli ty ne­zbytné funkce, které dříve pod­po­ro­val jen jeho ob­líbený pro­hlí­žeč, stále fun­gují tak, jak fun­go­valy v mi­nulé verzi.

Co je vlastně potřeba

Podí­vejte se na stan­dardy, které sku­tečně po­tře­bujete a dejte mi vě­dět, které IE nemá. Micro­soft má vel­kou zku­še­nost s tím, z jakých kom­po­nent se na­prostá vět­šina uži­va­tel­ského roz­hraní apli­kací skládá. Jsou ve Vi­sual Stu­diu v pa­nelu Tool­box. Ně­jaký ten HTML5 ekvi­valent po­strádá už jen Calen­dar, Rich­Text­Box a Sli­der. Při­po­mí­nám, že Grid už je díky Micro­softu sou­částí CSS3 a pod­po­ruje ho IE od verze 10. Di­rectX do­stupné na webu máme, jen je pře­ma­po­vané na We­bGL. Ostatně HTML5 apli­kace je možné od Win­dows 7 slušně a od Win­dows 8 plně in­te­gro­vat do ope­rač­ního systému. Víte, že dříve po­jem HTML5 za­hr­no­val užší sku­pinu spe­ci­fi­kací jen okolo sa­mot­ného HTML a ten s dalšími ob­lastmi jako CSS3, Con­necti­vity, Of­fline & Sto­rage nebo 3D, Gra­phics & Ef­fects měl za­střešující ná­zev Web Ap­pli­cati­ons? Až poz­ději se po­jem HTML5 tě­šil ta­kové ob­libě, že na­hra­dil Web Ap­pli­cati­ons. A já se ptám: umožní mi Chrome OS, Fi­re­fox OS či OS X in­te­gro­vat we­bo­vou apli­kaci do ope­rač­ního systému v ta­kové míře, v jaké mi to teď umož­ňuje OS Win­dows?