Hlavní navigace

Firefox se zbaví starých rozšíření, půjde cestou Chromu

28. 8. 2015
Doba čtení: 5 minut

Sdílet

Už za pár týdnů prohlížeč Firefox nepřijme nepodepsaná rozšíření. Klasická rozšíření navíc do dvou let odejdou úplně, nahradí je technologie WebExtensions, která rozšíření bere podobně jako Chrome. A aby toho nebylo málo, ta se do toho plete i nová víceprocesová architektura. Firefox čeká revoluce.

Jak už jsme vás informovali v článku Firefox jde do boje o uživatele. Bude konzervativnější, prohlížeč Firefox čekají velké změny. Mimo jiné poběží v oddělených procesech a rozhraní zřejmě přejde na jinou technologii. Nyní navíc byly ohlášeny další veledůležité změny týkající se rozšíření. Firefox už k sobě pustí pouze ta podepsaná Mozillou. A později navíc přejde na jiný typ rozšíření, který můžeme znát např. z projektů na bázi Chromia.

Nepodepsaná rozšíření už nenainstalujete

Rozšíření představují jednu z nejsnazších cest, jak do prohlížeče potažmo systému propašovat malware. Chrome to vyřešil tak, že značně zkomplikoval instalaci rozšíření odjinud než oficiálního repozitáře od Googlu. Další vrstvu ochrany pak představuje kontrola stahovaných souborů. Pokud prohlížeč najde shodu v obsáhlé databázi malware, stahování by měl zablokovat.

Firefox na to jde trochu jinak. Od verze 42, která vyjde v listopadu tohoto roku, už nenainstaluje žádné rozšíření nepodepsané Mozillou. Jen pro ujasnění, Firefox je svobodný software, což znamená, že si ho můžete upravit a sami zkompilovat – klidně i bez tohoto omezení. Hovoříme tedy o oficiálních binárkách vydávaných a distribuovaných Mozillou.

Samotná Mozilla dokonce bude vydávat noname verzi prohlížeče bez názvu a značky Firefox, která se bude lišit pouze v tom, že umožní instalaci nepodepsaných rozšíření. Tato verze je samozřejmě určena zejména pro vývojáře rozšíření, kterým by standardní Firefox bez podpisu neumožnil jejich testování. Současná verze 40 už při instalaci nepodepsaných rozšíření varuje, další už je bude blokovat s možností obejít to v nastavení.

Na rozdíl od Googlu si Mozilla nijak neurčuje, kde máte rozšíření hostovat. Může to být v oficiálním repozitáři, ale i kdekoliv jinde. V případě umístění rozšíření na Add-ons for Firefox vše proběhne plně automaticky a vývojář nic nemusí řešit. Podepsanou binárku pak lze distribuovat jinde. Přes Mozilla Add-ons bude probíhat i ověřování rozšíření, která zde nechcete nabízet. Služba se na žádost v katalogu nezobrazí.

Co se samotného procesu ověřování týče, moc o něm nevíme. Snad jen to, že je automatický a měl by být velmi rychlý. Mozilla slibuje prověrku a podepsání rozšíření v řádech sekund. Pokud by se automatickému systému váš výtvor nelíbil, můžete požádat o ruční přezkoumání, které by nemělo trvat déle než dva dny. To je např. ve srovnání s obchody s mobilními aplikacemi velmi svižný proces. Tak snad se to Mozille podaří dodržet.

Zdá se, že pro většinu uživatelů i vývojářů změna proběhne bez sebemenších potíží. Otazník ale zůstává u soukromých rozšíření pro zejména podnikové použití, která firmy nechtějí nikam posílat. Mozilla pro tyto situace zatím nenalezla vhodné řešení, což by ale neměl být problém, protože firmy většinou používají ESR vydání s prodlouženou podporou. Dalším ESR vydáním by měl být Firefox 45, takže času je ještě docela dost.

WebExtensions: chromovatá rozšíření ve Firefoxu

Další velkou novinkou je uvedení API WebExtensions, přes které se do Firefoxu dostane nový typ rozšíření. Budou jednoduchá, založená na webových technologiích a velmi podobná rozšířením pro Chromium. Tento typ rozšíření zprvu bude představovat pouze alternativu, ale postupně by měl plně nahradit stávající typ rozšíření.

Rozhodli jsme se upustit od rozšíření, která jsou závislá na XUL, XPCOM a XBL. Zatím nevíme, kdy k jejich odstavení dojde, ale pravděpodobně to bude v následujících dvanácti až osmnácti měsících. Ohlašujeme tuto změnu už nyní, aby se na to vývojáři mohli připravit a dát nám zpětnou vazbu, napsal Kev Needham z Mozilly.

Tento krok jistě nebude po chuti řadě, zejména pokročilých, uživatelů. Jde o projev dalšího hloupnutí a chromovatění prohlížeče. Mozilla sice říká, že nechce omezovat možnosti rozšíření, ale k jistému omezení stejně pravděpodobně dojde. To je sice nepříjemné z hlediska uživatelského, ale dobré z hlediska bezpečnostního. Rozšíření budou pod větší kontrolou a neměly by ohrozit uživatele ani ovlivňovat chod samotného prohlížeče.

Vývojáři v Mozille si dali záležet na tom, aby znovu nevynalézali kolo. Rozhraní WebExtensions se velmi podobá rozhraní, které pro rozšíření používá Chromium. Mělo by tak stačit několik málo úprav, abyste rozšíření vytvořené pro Chrome portovali do Firefoxu. Mozilla ostatně doufá, že jí vytvořená průhledná specifikace dopomůže tomu, aby jedno rozšíření (binárka) běželo bez úprav ve Firefoxu, Chromiu a potažmo i dalších prohlížečích.

Zároveň však není cílem vytvořit nějaký svazující standard. Jde jen o to, aby rozšíření stavěla na společném základu, což všem ušetří hodně práce. Nebudeme implementovat všechna API z Chromu a ani Chrome pravděpodobně nebude implementovat všechna naše API. Představte si to jako Vennův diagram. Uprostřed máte API pro skripty, karty nebo okna společná pro všechny prohlížeče. Na straně Firefoxu pak třeba API pro toolbary a další elementy uživatelského rozhraní. Na straně Chromu zase API pro služby Googlu.

Jak už bylo zmíněno, k odstranění podpory starého typu rozšíření jen tak nedojde. Podpora WebExtensions už je ale ve Firefoxu na spadnutí. API už můžete vyzkoušet ve vývojové nightly verzi. Ve stabilním Firefoxu se poprvé objeví v listopadové verzi 43. Zatím však s nálepkou ukázka, dokud se nepodaří vychytat všechny mouchy.

Electrolysis: rozšíření a podpora více procesů

S rozšířeními poměrně úzce souvisí také rozdělení karet a rozšíření do samostatných procesů, které do Firefoxu přinese projekt Electrolysis. Nové řešení WebExtensions je na to samozřejmě připraveno a vývojáři si s Electrolysis nemusí lámat hlavu. Poněkud komplikovanější je to u starého typu rozšíření, který pro podporu nové architektury vyžaduje úpravy. Podrobnosti jsou k dispozici na vývojářském portálu Mozilly.

CS24_early

Samozřejmě se počítá s určitou dobou hájení i pro neupravená rozšíření. Přibližně do poloviny příštího roku jim Firefox umožní běžet v kompatibilním režimu. Zjednodušeně tak, že v procesu rozšíření bude emulován samostatný, byť osekaný Firefox. To s sebou logicky přinese o něco horší výkon a pravděpodobně také vyšší spotřebu operační paměti.

Nasnadě je otázka, zda pro vývojáře není lepší rovnou rozšíření portovat na WebExtensions, než si dávat práci s podporou Electrolysis ve starém typu rozšíření, který je stejně na odchodu. Firefox čeká opravdu mnoho velkých změn. Pozitivem je ale fakt, že Mozilla vše poctivě plánuje a dává uživatelům a zejména vývojářům vědět s dostatečným předstihem. K žádnému průšvihu tak s velkou pravděpodobností nedojde.

Byl pro vás článek přínosný?

Autor článku

Bývalý redaktor serveru Root.cz, dnes produktový manažer a konzultant se zaměřením na Bitcoin a kryptoměny.