Včera prolétla technickými médii skoro už nečekaná zpráva: Microsoft na těch doplňcích pro Edge opravdu dělá a zdá se, že alespoň jejich raná verze je skutečně za dveřmi společně s novými testovacími buildy pro příští verzi Windows 10 s kódovým označením Redstone.
Tentokrát to přitom nebyla nikým nepotvrzená kachna, ale spíše omyl samotného Microsoftu, který na krátký čas publikoval web s několika testovacími doplňky. Komunita si toho samozřejmě všimla a Twitter zahltily snímky obrazovky.
Původní adresa je už nefunkční, ale robot Googlu byl rychlejší, a tak její jednodušší textovou podobu najdete v jeho archivu.
Pojďme si nyní to málo, co jsme se dozvěděli, trošku analyzovat. Na snímku již zablokovaného webu si můžete všimnout několika obrázků, jak budou doplňky vlastně vypadat a co budou umět. V prohlížeči se usadí ve formě ikon dostupných z hlavního menu.
Toto chování potvrzuje jarní zprávy o tom, že se Microsoft inspiroval v Mountain View a jde stejnou cestou jako Google, v jehož Chromu se ikony nainstalovaných doplňků usadí pro změnu v horní liště.
Ikona doplňku pro Pinterest v Edge a v Chromu. Prohlížeč od Microsoftu ji zobrazí v konfigurační nabídce a Chrome v horní liště.
Jenže tím podobnost zdaleka nekončí. Programátor s přezdívkou WalkingCat, který na svém Twitteru o novince informoval jako první, totiž stačil stáhnout dva zkušební doplňky Pin It Button pro Pinterest a Reddit Enhancement Suite pro stejnojmenný komunitní web.
Tato rozšíření jsou k dispozici i pro Chrome, mohl tedy porovnat kód pro oba prohlížeče a zjistil, že je prakticky identický. A aby se pochlubil, oba doplňky umístil na úložiště Mega (1, 2), takže si je můžete stáhnout a projít si je.
Téměř stejný kód a struktura
Doplňky pro Chrome i Edge jsou napsané v Javascriptu a jejich případné GUI pak v běžném HTML. Toto vše nakonec doplňuje tzv. manifest, což je textový soubor, ve kterém je popsáno základní nastavení, práva a další klíčové metainformace o doplňku.
Struktura doplňku Pin It Button je v obou případech opravdu prakticky shodná a to dokonce do takové míry, že i v manifestu rozšíření pro Edge zůstala adresa Chrome Web Storu, ze kterého si má doplněk instalovat aktualizace. Nu, Edge to bude asi ignorovat.
Obsah balíků s doplňkem pro Chrome a Edge je téměř shodný
Když pak zkušenější kodér nahlédne na samotný javascriptový program aplikace, v případě skriptu background.js si v podstatě musí oba soubory spustit v editoru, který umí barevně rozlišit rozdíly, aby vůbec nějaké našel.
WalkingCat nám to naštěstí usnadnil a na Twitteru napsal, že kód se liší třeba v názvu objektu identifikující prohlížeč. Zatímco v kódech pro Chrome je to text chrome, v případě verze pro Edge to bude msBrowser.
Vlevo je jeden ze zdrojových souborů doplňku pro Chrome a vpravo pak pro Edge. Zeleně zvýrazněný řádek ukazuje jeden z mála rozdílů mezi oběma verzemi.
Migrace rozšíření z Chromu pro Edge by tedy mohla být opravdu triviální, a pokud vše zůstane u podobných kosmetických rozdílů, mohl by ji provádět i automat třeba na straně Microsoftu. Do Windows Storu nahrajete balík doplňku pro Chrome a automat jej transformuje do podoby aplikace pro Edge.
To je ale zatím budoucnost, i uniklý webový dokument totiž zatím popisoval jen ruční způsob instalace, kdy doplněk rozbalíte do libovolné složky a tu pak načtete přímo v prohlížeči v novém správci doplňků, který zatím v aktuálních sestaveních Windows Insider chybí.
I manifest doplňku pro Edge vychází z toho pro Chrome. Zůstala v něm dokonce i webová adresa pro aktualizaci rozšíření ze serveru Chrome Web Store.
Microsoft si vybral nejjednodušší cestu a je to dobře
A proč si vlastně Microsoft vybral cestu Chromu? Je totiž časem nejlépe ověřená a zdaleka k ní nemíří pouze Edge, ale i Mozilla a její Firefox. Doplňky tohoto typu napsané převážně v HTML a JS jsou bezpečnější, protože nezasahují až tak hluboko do nitra prohlížeče a systému, jsou lépe auditovatelné a jejich vývoj je snazší a rychlejší. Díky HTML a Javascriptu jsou nakonec přenositelnější z jednoho prohlížeče do druhého.
Na stranu druhou, už v samotné podpoře doplňků se zároveň skrývá riziko výrazně sníženého výkonu, leckdo totiž může z problematického načítání nějakého webu vinit prohlížeč, přestože ve skutečnosti za vším stojí vadné rozšíření, jehož kód se zpracovává při každém načtení libovolného webu. Doplňky se také mohou výrazně podepisovat na spotřebě operační paměti, která s jejich počtem adekvátně roste.
Nechme se tedy překvapit, jak se s nimi vypořádá právě Microsoft, který jejich nasazení odložil mimo jiné právě proto, že nebyl spokojený s poklesem výkonu celého prohlížeče.