Proč Firefox musel zabít vaše oblíbené rozšíření
Firefox 57 nebo Quantum je zde a je to obrovské zlepšení. Firefox konečně dohnal Chrome, pokud jde o rychlost, rozhraní je mnohem čistší a existují některé skvělé nové funkce bootování. Není tady moc stěžovat.
Jen dělám srandu. Na internetu se vždycky stěžuje.
S Firefox Quantum je stížnost de jour, že některé rozšíření již nefungují. Mnoho rozšíření s vysokým profilem, včetně DownThemAll a Greasemonkey, momentálně nepracují s produktem Quantum. Ostatní, včetně Firebug a ScrapBook, pravděpodobně nikdy nebude fungovat znovu.
To je frustrující, pokud jste uživatel jedné z těchto služeb a můžete si myslet, že je to poněkud libovolné. To není. Líbí se nebo ne, Mozilla měla pocit, že nemají na výběr, ale opouštějí to, co nazývají "starší" doplňky, aby se posunuly dopředu. Zde je důvod.
Jak fungovaly rozšíření Legacy Firefox
Tradiční rozšíření Firefoxu byly obecně psány v jazyku XML User Interface Language (XUL). Toto je jazyk, ve kterém je uživatelské rozhraní prohlížeče Firefox vybudováno, a rozšíření založená na XULu mohou přímo upravovat toto rozhraní. Tyto doplňky měly také plný přístup k XPCOM, což je výkonný objektový model, který používá Firefox.
Pokud to přešlo přes hlavu, prostě to víte: rozšíření Firefoxu mají více nebo méně úplnou schopnost změnit váš prohlížeč a tyto změny přímo provedly. To je důvod, proč byly tyto rozšíření tak silné: neexistovala předepsaná sada věcí, které by mohly a nemohly se změnit. To je také důvod, proč se tato rozšíření snažila přerušovat nové verze Firefoxu.
Rozšíření pro Chrome nebo Safari nefungují tímto způsobem. Tyto prohlížeče nabízejí vývojářům rozšíření specifické rozhraní API, které mohou používat, což znamená, že existuje seznam položek, které rozšíření mohou a nemohou ovládat. Již dva roky nabízí Firefox podobné rozhraní API nazvané WebExtensions, které vývojářů povzbudilo k přijetí.
Tradiční rozšíření zjednodušují Firefox
Firefox Quantam není první aktualizací, která přerušuje rozšíření: tento problém je po mnoho let problémem. Vzhledem k tomu, že rozšíření Firefoxu mohou mít vliv na Firefox tak přímo, bylo možné, že dokonce i malé změny v samotném Firefoxu úplně přeruší doplňky nebo pouze představují chyby, které snižují výkon.
Uživatelé prohlížeče Firefox, kteří nevědí, že rozšíření způsobují problém, by předpokládali, že nová verze prohlížeče Firefox je chybná a z jejich pohledu to bylo. Tým Firefox by udělal vše pro to, aby zajistil, že populární rozšíření budou fungovat předtím, než budeme tlačit novou verzi, ale je snadné si představit, že toto zpomalení vývoje.
Rozhraní API WebExtensions to vše usnadňuje specifikováním toho, jaké rozšíření mohou dělat a jak to mohou udělat. To znamená, že vývojáři potřebují pouze zajistit správné fungování rozhraní API a nemusíte se obávat, že změna výkonu nebo změna uživatelského rozhraní naruší konkrétní rozšíření. Výsledkem by mělo být, že v delším časovém horizontu dochází k menšímu rozšíření rozšíření, ale aby to bylo možné, Mozilla potřebovala opustit starý ekosystém rozšíření.
Změna také umožňuje některé z nejlepších vlastností Quantamu. Možnost více procesů, například, je velkou částí zvýšení rychlosti Firefox Quantam. Čtyři samostatné procesy zpracovávají rozhraní a karty Firefoxu, což znamená, že Firefox může používat všechny čtyři jádra procesoru místo jednoho. To je realita, kterou tradiční rozšiřující ekosystém prostě nebyl vybudován, a je těžké si představit, že bude fungovat bez mnoha vrstev abstrakce, které by nevyhnutelně zpomalily věci. Mnoho nadcházejících změn ve Firefoxu bylo podobně zadrženo staršími doplňky, což znamená, že ekosystém se musel změnit, aby se Firefox vyvíjel.
Kompatibilita mezi platformami byla problém
Kdysi dávky poskytly lidem přesvědčivý důvod používat prohlížeč Firefox přes Chrome. V těchto dnech Chrome je zdaleka vůdčí z hlediska doplňků, zatímco Firefox se může cítit jako hřbitov nepřetržitého rozšíření z let minulých.
Jistě, existuje několik rozšíření Firefoxu, které nelze v prohlížeči Chrome dostat, ale Chrome má zdaleka větší ekosystém. Nové rozhraní API WebExtensions to neudělí přes noc, ale usnadňuje rozšíření rozšíření Chrome do prohlížeče Firefox, protože jazyk používaný k zápisu rozšíření je natolik podobný, že způsobuje, že portování je povrchní. V případě, že je v prohlížeči Firefox spuštěno rozšíření Chrome, v mnoha případech je zapotřebí jen pár vylepšení, což znamená, že není důvod, aby vaše oblíbené rozšíření Chrome nemohly být nyní dostupné ve Firefoxu, pokud se od developera pěkně zeptáte. To by mělo vést k záplavě nových rozšíření v ekosystému, který by mohl upřímně využít.
Firefox už ztratil uživatele
Někteří se mohou domnívat, že Firefox ztratí uživatele kvůli rozbitým rozšířením, ale stojí za to si povšimnout, že Firefox již stráví uživatelé Chrome v alarmující míře a už roky. Srovnávací rychlost a nedostatek určitých doplňků na této frontě nepomáhá a Firefox Quantum si klade za cíl vyřešit oba tyto problémy.
Existuje šanci, že se to vrátí? Tak určitě. Někteří lidé se přeskočí na Chrome a jiní mohou hledat staré vidlice, které zachovávají starý ekosystém rozšíření. Ale není to, jako by se věci dělaly dobře předtím. Firefox se musí vyvíjet, aby zůstal relevantní, a tak se rozhodli, že to udělají.
Vývojáři měli čas přejít na nový API
Někteří uživatelé si nevšimnou, že se tento přepínač dokonce stal, protože rozšíření, s nimiž pracují, již používají API WebExtension. Jiné rozšíření se nezměnily.
Mohlo by to být proto, že vývojář opustil rozšíření již dávno, nebo nemá pocit, že jej znovu zapíše, aby použil rozhraní API. V některých případech rozhraní API nenabízí dostatečnou kontrolu, aby znovu vytvořila původní rozšíření, takže vývojáři opouštějí své projekty. A v mnoha případech se konverzace prostě nedělá.
Ať už je tomu tak, rozšíření se neporuší, protože Mozilla něco změnila najednou. WebExtensions je součástí Firefoxu dva roky a před rokem byla oznámena lhůta pro aktualizaci rozšíření:
Do konce roku 2017 a po vydání Firefoxu 57 se přesuneme výhradně na WebExtensions a zastavíme načítání dalších typů rozšíření na ploše.
Stále chybí rozšíření, od něhož závisíte? Tento dokument Google sleduje několik populárních rozšíření a poskytuje alternativy k několika běžným. Tento seznam je také užitečný.