Uplynulý týden byl opravdu bohatý na novinky ve světě prohlížečů. Některé jsou úsměvné, ale minimálně dvě jsou velmi důležité: Chrome i Firefox mění vykreslovací jádra (engine).
Engine prohlížečeVykreslovací jádro prohlížeče (angl. rendering engine) je softwarová komponenta zodpovědná za vykreslení a zobrazení obsahu webové stránky, obvykle zapsaného ve značkovacím jazyce HTML, kaskádových stylech CSS, obrázcích a křivkách. Nejpoužívanějším jádrem prohlížečů je WebKit (Chrome, Safari), následovaný Tridentem (Internet Explorer) a Geckem (Firefox). |
Zdá se, že se uživatelé mohou těšit na ještě rychlejší zobrazování. A vývojářům zase přibudou další okna, ve kterých musí své stránky a aplikace testovat.
Google si udělá klon WebKitu - Blink
Apple a Google jsou sveřepí rivalové. Můžou za to především spory kolem mobilního operačního systému Android, který podle Applu kopíruje jejich úspěšný iOS. Počáteční symbióza se tedy postupně proměnila v silnou nevraživost a Apple dokonce odstranil ze svých produktů mnohé služby Google, kterými se předtím rád chlubil, především mapy. Ale opensourcové prohlížečové jádro WebKit bylo posledním významným projektem, na kterém obě firmy plodně spolupracovaly. WebKit tloukl v útrobách prohlížečů Google Chrome i Apple Safari. Rychlostní rozdíl mezi nimi byl dán především zpracováním JavaScriptu.
Nyní Google oznámil, že se od vývoje WebKitu odtrhne a dále bude vyvíjet jeho odnož. Slovo Blink znamená v angličtině "mžik" a má evokovat rychlost, na kterou se ostatně Chrome zaměřuje už od první verze. Vývojáři Googlu se na rozvoji WebKitu podíleli výraznou měrou a pravděpodobně měli dojem, že vývoj WebKitu nepostupuje kvůli ostatním dostatečně rychle. Možná je Google také trochu zklamán tím, že si Apple nechal WebKit registrovat jako ochrannou známku.
Kdo sleduje tzv. noční vývojové verze Google Chrome, ten ví, že vývoj prohlížeče je opravdu rychlý a vývojové cykly velmi krátké. V současné době je číslo stabilní verze 26 a Google Canary (nejnovější verze pro vývojáře a experimentátory) už je ve verzi 28. V té se také již objevil nový engine Blink. Zatím jde jen o přejmenovaný WebKit, ale lze očekávat, že už během pár týdnů budou změny znatelné. Alespoň pro vývojáře webových aplikací.
Blink má hned od počátku důležitého spojence. Opera teprve v únoru 2013 oznámila, že přejde ze svého enginu Presto na opensourcový WebKit, nejen kvůli úspoře času při vývoji. Nyní si tedy norská společnost mohla vybrat a rozhodla se, že se přidá ke Googlu, půjde s Blinkem a opustí WebKit. "Podobné rozhodnutí teď bude čekat i ostatní firmy, které budou chtít WebKit využívat. Přikloní se na stranu Applu nebo Googlu?" všímá si Robert O'Callahan z Mozilly.
Rezavá liška ve spolupráci se Samsungem
Důležité oznámení měli pro vývojářskou komunitu i lidé z Mozilly. Ve spolupráci se společností Samsung pracují na zatím experimentálním enginu Servo. Ten by měl zvládnout paralelní vykreslování, což by mohlo vést k vyšší rychlosti a nižší spotřebě. Je jasné, že toto se hodí hlavně na přenosných zařízeních. Prvním krokem k tomu je právě optimalizace enginu Servo pro Android ve spolupráci se Samsungem.
Pro vývoj Serva je využíván nový programovací jazyk Rust, který je v současnosti ve své verzi 0.6 a podle Brendana Eicha, CTO Mozilly, se "rapidně se blíží stabilitě" (ať už to znamená cokoli). Jazyk se podobá C nebo C++ s důrazem na bezpečnost a správu souběžných (paralelních) procesů. Právě to je důležité pro nový engine Servo, Mozilla doufá, že při vykreslování lépe využije vícejádrové procesory v mobilech i grafické karty v počítačích.
Robert O'Callahan vidí v novém projektu velký potenciál. Je si však vědom i problémů: jde o další engine, na kterém musejí vývojáři své aplikace a stránky testovat. "Možná bude mít vysoce paralelní vykreslovací jádro nižší spotřebu a mnohem vyšší rychlost, ale možná ne" píše ve své prezentaci.
Internet Explorer 11 už umí HTML5, schovává se proto za Firefox
Internet Explorer 11 je schopen pracovat s HTML5 velmi pěkně. A to je problém. Posledních několik let (vlastně už celou dekádu) jsou vývojáři zvyklí na to, že musejí Exploreru obvykle "podstrčit" jinou stránku než ostatním prohlížečům. Obvykle jde o malé chytáky (tzv. CSS hacky) ošetřující problematická místa, případně odlišné stylování stránek pro různé prohlížeče. Pokud tedy server zjistí, že stránku stahuje prohlížeč Internet Explorer, může prohlížeči poslat jinou, více či méně uzpůsobenou verzi stránek.
Ale jak má nový Internet Explorer přesvědčit vývojáře, že už to není potřeba a že už patří do party progresivních prohlížečů? Minulé verze Exploreru přišly s různými verzemi "kompatibilního zobrazení", což je pochopitelné, ale často nespolehlivé řešení, které navíc běžného uživatele mate. Nyní Microsoft zřejmě experimentuje s jiným přístupem. Z identifikačního řetězce vyřadil "MSIE", nyní je tam pouze "IE 11", a doplnil instrukci "like Gecko", tedy odkaz na engine Firefoxu.
V praxi to znamená, že dostane stejné stránky, jako kdyby to byl Firefox. Je zajímavé, jak noví vývojáři ještě po deseti letech doplácejí na to, co vytvořili jejich předchůdci. Je těžké odříznout se od minulosti a začít s čistým štítem. Ale to je zjevně záměr Firefoxu, Chromu i Exploreru.