Dajbych.net


Projekt Spartan, 3. díl – nové jádro

, 5 minut čtení

Příští we­bový pro­hlí­žeč od Micro­softu bude mít pře­pra­co­vané já­dro. Jedná se o změnu, která v dě­ji­nách IE ni­kdy ne­na­stala. Nové já­dro po­tlačí zpět­nou kom­pa­ti­bi­litu ve prospěch stan­dardů. Uži­va­tel by ne­měl nic po­znat, vý­vo­jář se ne­bude muset zabý­vat vy­kres­lo­va­cími re­žimy a správce sítě už ne­bude mít problémy s kom­pa­ti­bi­li­tou in­tra­netu po up­gradu pro­hlí­žeče. Stejné am­bice měl už In­ter­net Ex­plo­rer 7. Proč to ten­krát ne­vyšlo a proč si Micro­soft myslí, že to ten­to­krát vyjde?

mi­nulém díle jsem psal o ná­stro­jích, které umož­ňují pro­vést up­grade pro­hlí­žeče ve fi­rem­ním prostředí a zacho­vat při­tom kom­pa­ti­bi­litu in­tra­netu. V tomto díle se budu zabý­vat no­vým já­drem bu­dou­cího pro­hlí­žeče.

EdgeHTML

Cílem pro­jektu Spar­tan je vy­tvo­ření no­vého já­dra we­bo­vého pro­hlí­žeče, které na­hradí sou­časný Tri­dent. Knihovna MSHTML.dll je za­sta­ralá a na­hradí ji Ed­geHTML.dll. Pří­či­nami jsem se zabý­val v prv­ním díle.

Pro do­má­cího uži­va­tele bude Ed­geHTML to je­diné, co bude moci po­u­ží­vat. Ve fi­rem­ním prostředí bude možné pro ur­čité do­mény z Inter­netu vy­nu­tit starší MSHTML. Sou­časně se bude MSHTML po­u­ží­vat pro in­tra­net.

V čem se liší?

Ed­geHTML se od MSHTML od­li­šuje mno­hem více, než Blink od Web­Kitu.

Co všechno to rozbije?

Nic, pro­tože se Ed­geHTML bude cho­vat jako mo­derní pro­hlí­žeč. Se vším všudy. To zna­mená, že větve kódu na­psané spe­ci­ficky pro IE se ne­bu­dou vy­ko­ná­vat. Od­stra­něno bylo pře­de­vším to, co vý­vo­jáři po­u­ží­vali k de­tekci IE. Takže věci jako tyto ne­bu­dou fun­go­vat.

document.all document.compatMode navigator.userAgent.indexOf('MSIE') > -1

Tím se Ed­geHTML zá­sadně liší od toho, s čím při­šel IE 7. Ten sice opra­vil mnoho chyb, ale sou­časně s tím stále fun­go­valy (špatné) de­tekce pro IE 6. Kdo po­u­ží­val pod­mí­něné ko­men­táře, toho to trá­pit ne­mu­selo. Fakt je ale ta­kový, že web je plný chyb a chybná de­tekce pro­hlí­žeče se pro­je­vila v mo­mentě, kdy vy­šel IE 7 a ne už ve chvíli, kdy se web tes­to­val na IE 6.

Proč Microsoft nepoužil WebKit?

Pro­tože vyjít z já­dra Tri­dent bylo mno­hem výhod­nější. Třeba už jen proto, že vý­vo­jáři IE Tri­dent moc dobře znají. Na­víc před­stava, že Chrome a Sa­fari po­u­žívají Web­Kit, je ve­lice mylná. Chrome po­u­žívá Blink, což je fork Web­Kitu, a Sa­fari po­u­žívá port Web­Kitu. Jak Chrome, tak i Sa­fari po­u­ží­vají vlastní ja­vascriptové en­giny, které ale ne­mají tak dobrou pod­poru ES6, ja­kou má Cha­kra. Takže ke sjed­no­cení webu by to vů­bec ne­přispělo. Nao­pak by to mohlo zpo­ma­lit jeho vý­voj, jako se stalo v do­bách IE 6.

Je to definitivní konec verzování?

Zdá se, že ano. Web ve sku­teč­nosti už dlouho fun­guje ji­nak. Ne­kon­t­ro­luje se číslo verze, ale pod­pora kon­krétní tech­niky. Jak se ale může kon­krétní tech­nika vy­víjet, opra­vo­vat, nebo vylep­šo­vat? Jed­no­duše ne­může. Musí se při tom zacho­vá­vat zpětná kom­pa­ti­bi­lita a ta staví po­měrně úzké man­ti­nely. V dnešní době se stan­dard prak­ticky za­kon­zer­vuje v mo­mentě, kdy se začne ma­sově po­u­ží­vat. V bu­doucnu ne­vznikne jeho nová verze, prostě se vymyslí něco ji­ného, co ho na­hradí. Tak web dnes fun­guje a tomu se musí prohlí­žeče při­způ­so­bit. A nejen ty, ale i výrobci pro­ce­sorů v za­ří­zeních, na kterých běží we­bový pro­hlí­žeč.

4. díl – vylep­šení v Ja­vaScriptu