Prečo Firefox musel zabiť vaše obľúbené rozšírenie
Firefox 57 alebo Quantum je tu a je to obrovské zlepšenie. Firefox konečne dohliada na Chrome, pokiaľ ide o rýchlosť, rozhranie je oveľa čistejšie a niektoré skvelé nové funkcie na zavedenie. Nie je tu veľa sa sťažovať tu.
Len si srandu. Na internete sa vždy sťažuje.
S programom Firefox Quantum je sťažnosť de jour, že niektoré rozšírenia už nefungujú. Mnoho rozšírení s vysokým profilom, vrátane DownThemAll a Greasemonkey, momentálne nepracujú s Quantom. Ostatné, vrátane Firebug a ScrapBook, pravdepodobne nikdy nebude fungovať znova.
To je frustrujúce, ak ste používateľ jednej z týchto služieb a možno by ste si mysleli, že je to trochu ľubovoľné. To nie je. Páči sa mi to alebo nie, Mozilla cítila, že nemajú na výber, ale opustiť to, čo nazývajú "staré" doplnky, aby sa posunuli dopredu. Tu je dôvod.
Ako fungovali rozšírenia rozšírenia Firefoxu
Tradičné rozšírenia Firefoxu boli zvyčajne napísané v jazyku XML User Interface Language (XUL). Toto je jazyk, v ktorom sa používa používateľské rozhranie prehliadača Firefox a rozšírenia založené na platforme XUL by mohli toto rozhranie upraviť priamo. Tieto doplnky mali takmer úplný prístup k XPCOM, výkonnému modelu komponentov, ktorý používa Firefox.
Ak to prekonalo vaša hlava, stačí vedieť toto: rozšírenia Firefoxu mali viac alebo menej celkovú schopnosť zmeniť váš prehliadač a tieto zmeny urobili priamo. Preto tieto rozšírenia boli také silné: neexistovala predpísaná množina vecí, ktoré by mohli a nemohli zmeniť. To je dôvod, prečo tieto rozšírenia mali tendenciu prelomiť nové verzie Firefoxu.
Rozšírenia pre prehliadač Chrome alebo Safari nefungujú týmto spôsobom. Tieto prehliadače ponúkajú vývojárom rozšírení špecifické rozhrania API, ktoré môžu používať, čo znamená, že existuje zoznam nastavení, ktoré rozšírenia môžu a nemôžu kontrolovať. Už dva roky ponúkol Firefox podobný API s názvom WebExtensions, ktorý podporoval vývojárov.
Tradičné rozšírenia zjednodušili Firefox
Firefox Quantam nie je prvou aktualizáciou na prerušenie rozšírenia: tento problém pretrváva roky. Vzhľadom na to, že rozšírenia Firefox by mohli mať vplyv na Firefox tak priamo, bolo možné, že aj malé zmeny v samotnom Firefoxu úplne rozbili doplnky alebo len predstavili chyby,.
Používatelia prehliadača Firefox, ktorí nevedeli o rozšíreniach spôsobovali problém, by predpokladali, že nová verzia Firefoxu je buggy a z ich pohľadu to bolo. Tím Firefox by urobil všetko preto, aby zabezpečil, že populárne rozšírenia fungujú skôr, než tlačia novú verziu, ale je ľahké si predstaviť, že toto všetko spomaľuje vývoj.
Rozhranie API WebExtensions to všetko uľahčuje tým, že konkrétne definuje, ktoré rozšírenia môžu robiť a ako to môžu robiť. To znamená, že vývojári potrebujú len zabezpečiť správne fungovanie rozhrania API a nemali by sa obávať, že zmena výkonu alebo zmena používateľského rozhrania naruší konkrétne rozšírenia. Výsledkom by malo byť, že v dlhodobom horizonte bude menej rozšírení, ale aby to bolo možné, Mozilla potrebovala opustiť starý rozšírený ekosystém.
Zmena tiež umožňuje niektoré z najlepších vlastností Quantamu. Napríklad multiprocesná schopnosť je veľkou časťou zvýšenia rýchlosti Firefoxu Quantam. Štyri samostatné procesy spracujú rozhranie a karty Firefoxu, čo znamená, že Firefox môže použiť všetky štyri jadrá vášho procesora namiesto jedného. Toto je skutočnosť, ktorú tradičný rozšírený ekosystém jednoducho nebol postavený a je ťažké si predstaviť, že bude fungovať bez mnohých vrstiev abstrakcie, ktoré by nevyhnutne spomaľovali veci. Mnoho budúcich zmien v programe Firefox bolo podobne zadržaných staršími doplnkami, čo znamená, že ekosystém sa musel zmeniť, aby sa Firefox vyvinul.
Kompatibilita medzi platformami bola problémom
Kedysi doplnky poskytli ľuďom presvedčivý dôvod na používanie prehliadača Firefox cez prehliadač Chrome. V týchto dňoch Chrome je zďaleka lídrom, pokiaľ ide o doplnky, zatiaľ čo Firefox sa môže cítiť ako cintorín neprekonateľných rozšírení z rokov minulosti.
Iste, existuje niekoľko rozšírení Firefoxu, ktoré nemôžete dostať do prehliadača Chrome, ale Chrome má zďaleka väčší ekosystém. Nové rozhranie WebExtensions API to neurčuje cez noc, ale uľahčuje prenesenie rozšírení prehliadača Chrome do Firefoxu, pretože jazyk používaný na písanie rozšírení je dostatočne podobný na to, aby portovanie bolo povrchné. V mnohých prípadoch je potrebné, aby rozšírenie prehliadača Chrome bolo spustené vo Firefoxe, takže nie je dôvod, aby vaše obľúbené rozšírenia prehliadača Chrome už nemohli prísť do Firefoxu, ak sa od developera pýtate pekne. To by malo viesť k záplave nových rozšírení v ekosystéme, ktoré by ho mohli úprimne využiť.
Firefox už stratil používateľov
Niektorí môžu tvrdiť, že Firefox stratí používateľov kvôli prerušeným rozšíreniam, ale stojí za to si uvedomiť, že program Firefox už strácal používateľov prehliadača Chrome alarmujúcou rýchlosťou a už roky. Porovnávacia rýchlosť a nedostatok určitých doplnkov na tomto fronte nepomáhali a Firefox Quantum má za cieľ vyriešiť oba tieto problémy.
Existuje šanca, že sa to stane späť? Istá. Niektorí ľudia preskočia loď do Chrome a iní môžu vyhľadávať staré vidlice, ktoré zachovávajú starý rozšírený ekosystém. Ale nie je to tak, ako to bolo predtým. Firefox sa musí vyvíjať, aby zostal relevantný, a to sa rozhodli urobiť.
Vývojári mali čas na prepnutie na nové rozhranie API
Niektorí používatelia si nevšimnú, že sa tento prepínač dokonca stal, pretože rozšírenia, s ktorými pracujú, už používajú API WebExtension. Ďalšie rozšírenia sa nezapnú.
Mohlo by to byť preto, že vývojár opustil rozšírenie už dávno, alebo nemá pocit, že ho opätovne zapíše, aby používal rozhranie API. V niektorých prípadoch rozhranie API neposkytuje dostatočnú kontrolu na opätovné vytvorenie pôvodného rozšírenia, takže vývojári opúšťajú svoje projekty. A v mnohých prípadoch sa konverzia jednoducho ešte nerobí.
V každom prípade sa rozšírenia nezlomia, pretože Mozilla zrazu zmenila niečo. WebExtensions je súčasťou Firefoxu dva roky a lehota na aktualizáciu rozšírení bola oznámená pred rokom:
Do konca roka 2017 a po vydaní Firefoxu 57 sa presunieme výhradne na WebExtensions a prestaneme načítať akékoľvek iné typy rozšírení na ploche.
Stále chýbate rozšírenie, na ktorom závisí? Tento dokument Google sleduje niekoľko populárnych rozšírení a poskytuje alternatívy k niekoľkým bežným rozšíreniam. Tento zoznam je tiež užitočný.