Internet Explorer mohl pohánět WebKit

Microsoft již brzy představí novou testovací verzi Windows 10. Její součástí bude poprvé i Spartan. Mohl jej pohánět i WebKit, ale Microsoft se nakonec rozhodl pro Edge.

Betatesteři Windows 10 se během několika následujících týdnů konečně dočkají nového sestavení operačního systému, přičemž jednou z jeho nejcitovanějších novinek bude nesporně Spartan. Nový prohlížeč od Microsoftu si dal poměrně smělý cíl: rád by po dvaceti letech udělal tlustou čáru za minulostí a poslal dosavadní Internet Explorer do digitální Valhally.

949537086
Spartan bude výchozím webovým prohlížečem pro WIndows 10 na desktopu i mobilu

Přestože bude drtivou většinu surfařů zajímat především to, jak bude Spartan nakonec vypadat, z dlouhodobějšího hlediska se jedná spíše o zástupný problém. Mnohem podstatnější inovací totiž bude jeho nové jádro Edge.

Krizi IE způsobila dlouholetá nečinnost

Inženýři, kteří poslední dekádu vyvíjeli Internet Explorer, to vlastně neměli vůbec jednoduché, museli se totiž vypořádat s hromadou překážek. Tou první a nejdůležitější je samotná stagnace ze strany Microsoftu, který se dlouhé roky nestaral o jakoukoliv interoperabilitu a byl si až příliš jistý svým ohromným postavením na trhu.

Jenže pak se na scéně objevila Mozilla a její Firefox, který se těšil velmi živému vývoji. Mozilla chrlila jednu verzi za druhou, zatímco Microsoft se omezoval jen na své obvyklé záplaty. Z dnešního úhlu pohledu je téměř nepředstavitelné, že IE 6 a jeho přímého následníka IE 7 dělí neskutečných pět let. Představte si, že by Mozilla, Google nebo třeba Opera představily novou verzi svých prohlížečů v roce 2010 a pak až letos.

12475149
Internet Explorer 6 byl výchozím prohlížečem od Microsoftu až do října 2006, kdy jej konečně nahradil alespoň Internet Explorer 7 s podporou surfování v tabech. Jen pro srovnání, Firefox byl tehdy k dispozici ve verzi 2.0 a svou funkční výbavou i výkonem byl mnohem dál.

Každý webový vývojář dobře ví, k čemu tato nečinnost vedla. Vzhledem k tržní síle IE jej jednoduše nešlo jen tak ignorovat. A tak zatímco ostatní své produkty vylepšovali a přinášeli nové technologie, programátoři museli vytvářet stále specifičtější HTML kód výhradně pro stárnoucí Internet Explorer. Začalo se mluvit o takzvaných IE hacks – všemožných chytrých úpravách HTML a CSS, aby bylo kolo kulaté nejen ve Firefoxu, ale i v Exploreru.

Zatímco Mozilla, Opera, Apple a od roku 2008 oficiálně také Google předváděly jednu technologii za druhou, které později přetavily v HTML5, Microsoft v rámci IE 8 lákal na podivné a zbytečné akcelerátory a výstřižky (Web Slices). Dnes si na ně už vzpomenou jen pamětníci.

Zrádné kompatibilní režimy

Internet Explorer 8 byl naštěstí poslední ze staré ligy a Microsoft v roce 2010 konečně rázně otočil kormidlem a začal dohánět konkurenci. IE9 byl po mnoha letech opravdu nový prohlížeč. Microsoft v něm přepracoval téměř vše. Prohlížeč získal nové javascriptové jádro Chakra, výrazně pospíšil s podporou připravovaného standardu W3C HTML5 a představil plnou hardwarovou akceleraci, což tehdy nenabízel ani jeden konkurenční prohlížeč.

Internet Explorer ale zároveň dohnala jeho minulost. Lepší podpora standardů totiž paradoxně způsobila problémy s kompatibilitou. Jednoduše řečeno, staré webové stránky byly plné oněch prehistorických IE hacků pro IE6, IE7 a IE8, ty ovšem v Internet Exploreru 9 pochopitelně nefungovaly. Najednou tu byl prohlížeč, který se nacházel v jakémsi vzduchoprázdnu. Nefungoval v něm kód pro staré verze a zároveň ještě neuměl mnoho věcí, které nabízela konkurence.

515275803
Daň za dlouholetou stagnaci? Kompatibilní režimy. Zbaví se jich teprve Spartan.

Microsoft tento problém již dříve řešil hromadou kompatibilních režimů, které ovšem měly sloužit pouze jako dočasná berlička a v Redmondu očekávali, že autoři webů postupně přestanou podporovat staré verze IE. To se však dlouhé roky nedělo a v případě všemožných intranetových podnikových systémů tak dodnes platí, že v praxi fungují třeba jen v IE8 a nižších – respektive v kompatibilních režimech, které emulují jádro z těchto prohlížečů.

Z potřeby zpětné kompatibility v IE se stávala stále těžší železná koule, která táhla Explorer ke dnu. Inženýři byli na jednu stranu tlačení trhem k tomu, aby zaváděli stále nové technologie, ale zároveň museli zachovávat podporu pro zobrazení stránek optimalizovaných pro prehistorické verze IE. Bylo to pochopitelně stále složitější a také dražší nejen s ohledem na lidské zdroje, ale i optikou komplikovanosti celého jádra.

Situace byla nakonec neudržitelná a v Redmondu museli provést malou revoluci. Plán byl jednoduchý: vytvořit moderní a jednoduché webové jádro zbavené všech letitých nánosů. Jádro, které bude nejen kompatibilní s webovými standardy, ale i s těmi nepsanými. Webové standardy jsou totiž mnohdy docela vágní, a tak má každý autor prohlížeče volnou ruku v jejich implementaci. I když tedy dva prohlížeče podporují třeba některou z verzí CSS a HTML, neznamená to, že výsledek musí vždy vypadat zcela identicky.

Microsoft uvažoval, že přejde na WebKit

Jak zajistit to, aby webová stránka fungovala v každém prohlížeči? Nabízí se pochopitelně řešení, které se už dnes v praxi opravdu často uplatňuje: používat jedno vykreslovací jádro – typicky WebKit. Microsoft ve svém blogovém zápisku přiznává, že jeho inženýři skutečně přemýšleli i nad touto možností. Na stole tedy opravdu ležel i plán, že by Microsoft ukončil vývoj svého Tridentu a namísto něj podobně jako třeba Opera přešel na WebKit, Blink aj.

Nakonec k tomu nedošlo a to prý ze dvou důvodů. Tím prvním byla snaha zachovat různorodost. Kdyby všichni používali jedno jádro, sice by ubylo mnoho problémů, ale zároveň by hrozilo, že dojde k určitému zakonzervování dalšího vývoje – určité technologické monopolizaci.

Druhým důvodem byla komplikovanost samotného WebKitu. Jeho kód je rozměrný, letitý a plný balastu. Uvědomil si to ostatně i Google, který raději vytvořil jeho odnož Blink a začal jej čistit. V Microsoftu si spočítali, že by nejspíše museli udělat to samé. Zároveň toho udělali mnoho už ve svém vlastním jádře – opět připomenu třeba plnou hardwarovou akceleraci všech aspektů vykreslování stránky, což je i dnes poměrně velký unikát. Microsoft si to může dovolit i proto, že vyvíjí IE výhradně pro Windows, a tak prohlížeč optimalizuje pouze pro jeden a ke všemu vlastní operační systém. Zároveň je autorem DirectX, takže má opravdu plnou kontrolu nad celým procesem zobrazení. Kdyby přešel na WebKit a chtěl by si zachovat tyto své speciality, možná by jeho úpravou strávil celé roky.

Bude Edge sexy?

V Redmondu se tedy nakonec rozhodli, že půjdou podobnou cestou jako Google a vytvoří raději novou větev. Nikoliv však novou větev WebKitu, ale svého vlastního Tridentu. Tím zabili dvě mouchy jednou ranou. K dispozici mají stále staré jádro, takže ve Windows může už navždy zůstat netknutý Internet Explorer se všemi těmi režimy pro zpětnou kompatibilitu, ale zároveň mají i to nové, kterému říkají Edge.

Edge začíná jako zcela odtučněný Trident, který může stavět čistě na současných standardech webu a nemusí se už ohlížet do minulosti. Oproti svým předchůdcům to bude živé jádro, které bude Microsoft průběžně aktualizovat. Ta tam by tedy měla být praxe, kdy jsme se dočkali nového Tridentu jednou za několik let. Stručně řečeno, pokud se jádro naučí něco nového, uživatelé se toho dočkají v rámci zcela běžné aktualizace softwaru. Spartan samotný totiž bude distribuovaný skrze Windows Store jako každá jiná moderní aplikace pro Windows 8+. Nové jádro ale bude dostupné i v klasickém Internet Exploreru, který bude umět podle potřeby přepínat mezi starým Tridentem a čerstvým Edge.

Podoba samotného Spartanu je z tohoto úhlu pohledu opravdu vedlejší. GUI lze totiž navrhnout prakticky kdykoliv a průběžně vylepšovat, zatímco nové jádro je mnohem komplexnější výzva. Pokud se to Microsoftu podaří, může v následujících měsících směle rozvíjet další slíbené technologie včetně podpory doplňků, o které se spekuluje už od loňského léta a kterou letos tým IE už neoficiálně potvrdil.

242377063
Zleva: Od podpory HW akcelerace po WebGL. Microsoft je pyšný na zlepšení IE v posledních několika letech. Teď se chce zbavit posledních velkých otěží, které jej zpomalují v boji s konkurencí.

Možná se teď jen ušklíbnete a řeknete si, že měli v Microsoftu stejně raději přejít na WebKit. Jenže tím pádem by na trhu opravdu ubylo konkurujících si hráčů, kteří se vzájemně inspirují. Nebýt Mozilly, Applu, Opery a Googlu a jejich tlaku na nové technologie, web by dnes nejspíše opravdu vypadal jinak – vždyť Microsoft ještě nedávno odmítal i WebGL, jehož podporou se dnes naopak všude chlubí.

I když ale vývoj Tridentu v minulosti trestuhodně usnul na vavřínech, i on dramaticky přispěl modernímu webu a stal se inspirací pro ostatní. Čítankovým příkladem budiž třeba dnes už téměř všudypřítomný AJAX, který se jako technologie XmlHttpRequest poprvé objevil právě v Internet Exploreru. Z posledních let pak stojí za připomenutí již zmíněná hardwarová akcelerace vykreslování stránek a Javascriptu.

Značky Trident a IE se však přesto v odborné komunitě netěší dobrému jménu. Nezbývá tedy než doufat, že Edge a časem i Spartan kartu zase obrátí. Zdravý konkurenční boj to totiž přímo vyžaduje.  

Diskuze (44) Další článek: V nových chytrých hodinkách od LG bude předinstalovaný antivir McAfee

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,