Kodėl „Firefox“ turėjo nužudyti jūsų mėgstamą plėtinį
„Firefox 57“ arba „Quantum“ yra čia, ir tai yra didžiulis pagerėjimas. „Firefox“ pagaliau pasiekė „Chrome“ greitį, sąsaja yra daug švaresnė, ir yra keletas puikių naujų funkcijų paleisti. Čia nėra daug skundų.
Juokauju. Internete visada skundžiamasi.
Su „Firefox Quantum“ skundas de jour yra tai, kad tam tikri plėtiniai nebeveikia. Daugelis aukšto profilio plėtinių, įskaitant „DownThemAll“ ir „Greasemonkey“, šiuo metu neveikia su „Quantum“. Kiti, įskaitant „Firebug“ ir „ScrapBook“, tikriausiai niekada neveiks.
Tai varginantis, jei esate vienos iš šių paslaugų vartotojas, ir jūs manote, kad tai šiek tiek savavališka. Tai ne. Panašiai ar ne, „Mozilla“ manė, kad jie neturėjo pasirinkimo, bet atsisakyti to, ką jis vadina „palikimu“, kad galėtų judėti pirmyn. Štai kodėl.
Kaip veikia „Legacy Firefox“ plėtiniai
Tradiciniai „Firefox“ plėtiniai paprastai buvo parašyti XML vartotojo sąsajos kalba (XUL). Tai yra kalba, kuria „Firefox“ vartotojo sąsaja sukurta, o XUL pagrindu sukurti plėtiniai gali tiesiogiai pakeisti šią sąsają. Šie priedai taip pat turėjo visišką prieigą prie „XPCOM“, galingo „Firefox“ naudojamo komponento objekto modelio.
Jei tai peržengė jūsų galvą, tiesiog žinokite tai: „Firefox“ plėtiniai turėjo daugiau ar mažiau bendrą galimybę keisti naršyklę, ir jie pakeitė tuos pakeitimus. Štai kodėl šie pratęsimai buvo tokie galingi: nebuvo nustatytų dalykų, kuriuos jie galėjo ir negalėjo pakeisti. Štai kodėl šie išplėtimai turėjo tendenciją nutraukti naujus „Firefox“ leidimus.
„Chrome“ arba „Safari“ plėtiniai tokiu būdu neveikia. Šios naršyklės siūlo plėtinių kūrėjams specifinius API, kuriuos jie gali naudoti, ty yra nustatytas sąrašas, kuriame gali būti ir negali būti valdomų dalykų. Jau dvejus metus „Firefox“ pasiūlė panašią API, pavadintą „WebExtensions“, kurią ji skatino diegti kūrėjams.
Tradiciniai plėtiniai pagerino „Firefox“
„Firefox Quantam“ nėra pirmasis atnaujinimas, skirtas nutraukti plėtinį: tai buvo nuolatinė problema daugelį metų. Kadangi „Firefox“ plėtiniai gali tiesiogiai paveikti „Firefox“, pats „Firefox“ pat galėjo pataisyti nedidelius pakeitimus visiškai nutraukti priedus arba tiesiog įvesti našumo ribojimo klaidas.
„Firefox“ naudotojai, nežinodami, ar plėtiniai sukėlė problemą, manytų, kad nauja „Firefox“ versija yra klaidinga, ir iš jų perspektyvos. „Firefox“ komanda padarys viską, kad populiarūs plėtiniai veiktų prieš stumdami naują versiją, tačiau lengva įsivaizduoti, kad visa tai lėtina plėtrą.
„WebExtensions API“ visa tai palengvina, konkrečiai apibrėždama, kokie plėtiniai gali padaryti ir kaip jie gali tai padaryti. Tai reiškia, kad kūrėjams reikia tik užtikrinti, kad API tinkamai veiktų, ir nesijaudinkite, kad keičiant našumą ar vartotojo sąsają bus pažeisti tam tikri plėtiniai. Rezultatas turėtų būti trumpesnis nei ilgesnis laikotarpis, bet tam, kad tai būtų įmanoma, „Mozilla“ turėjo atsisakyti senosios išplėtimo ekosistemos.
Pakeitimai taip pat leidžia kai kurias „Quantam“ geriausias savybes. Pavyzdžiui, daugelio procesų pajėgumas yra didelė „Firefox Quantam“ greičio didinimo dalis. Keturi atskiri procesai tvarko „Firefox“ sąsają ir skirtukus, o tai reiškia, kad „Firefox“ gali naudoti visus keturis procesoriaus branduolius, o ne vieną. Tai yra realybė, kad tradicinė išplėtimo ekosistema paprasčiausiai nebuvo pastatyta, ir sunku įsivaizduoti, kad jis veiktų be daugybės abstrakcijos sluoksnių, kurie neišvengiamai lėtintų dalykų. Daugelis artėjančių „Firefox“ pakeitimų taip pat buvo sulaikyti senųjų priedų, o tai reiškia, kad ekosistema turėjo pasikeisti, kad „Firefox“ vystytųsi.
Įvairių platformų suderinamumas buvo problema
Kartą pridėjimai suteikė žmonėms įtikinamą priežastį naudoti „Firefox“ per „Chrome“. Šiomis dienomis „Chrome“ iš esmės yra lyderis priedų atžvilgiu, o „Firefox“ jaučiasi kaip nepanaudotų plėtinių kapinės..
Žinoma, yra keletas „Firefox“ plėtinių, kurių negalite gauti „Chrome“, tačiau „Chrome“ turi didesnę ekosistemą. Naujoji „WebExtensions API“ neišspręs šios problemos per naktį, tačiau „Chrome“ plėtiniai bus daug lengviau perkeliami į „Firefox“, nes plėtinių rašymui naudojama kalba yra pakankamai panaši, kad paviršius būtų perkeliamas. Daugeliu atvejų, kai „Chrome“ plėtinys paleidžiamas „Firefox“, reikalinga tik keletas „tweaks“, ty nėra jokių priežasčių, kodėl „Chrome“ plėtiniai dabar negali ateiti į „Firefox“, jei paklausiate kūrėjui pakankamai gerai. Tai turėtų paskatinti naujų išplėtimų potvynį ekosistemoje, kuri galėtų atvirai ją naudoti.
„Firefox“ jau prarado naudotojus
Kai kurie gali teigti, kad „Firefox“ neteks naudotojų dėl išplėstų plėtinių, tačiau verta pažymėti, kad „Firefox“ jau prarado naudotojus „Chrome“ nerimą keliančiu greičiu ir jau daugelį metų. Lyginamoji sparta ir tam tikrų priedų trūkumas tuo metu nepadėjo, o „Firefox Quantum“ siekia išspręsti abi šias problemas.
Ar yra tikimybė, kad tai nustos galioti? Žinoma. Kai kurie žmonės persiųs laivą į „Chrome“, o kiti gali ieškoti senų šakių, palaikančių senąją ekosistemą. Bet tai ne taip, kaip viskas vyko anksčiau. „Firefox“ reikėjo vystytis, kad liktų tinkamas, ir taip jie nusprendė tai padaryti.
Kūrėjai turėjo laiko pereiti prie naujos API
Kai kurie vartotojai nepastebės, kad šis jungiklis netgi įvyko, nes plėtiniai, su kuriais jie dirba, jau naudoja „WebExtension“ API. Kiti plėtiniai nebuvo perjungti.
Tai gali būti dėl to, kad kūrėjas seniai atsisakė plėtinio arba nemanau, kad jis būtų perrašytas naudoti API. Kai kuriais atvejais API nepateikia pakankamai kontrolės, kad būtų galima iš naujo sukurti originalų plėtinį, todėl kūrėjai atsisako savo projektų. Ir daugeliu atvejų konversija dar nėra baigta.
Nepriklausomai nuo atvejo, plėtiniai nesilaiko, nes „Mozilla“ viską pakeitė staiga. „WebExtensions“ buvo „Firefox“ dalis dvejus metus, o galiojimo pratęsimo terminas buvo paskelbtas prieš metus:
Iki 2017 m. Pabaigos ir išleidus „Firefox 57“, pereisime tik prie „WebExtensions“ ir nustosime įkelti bet kokius kitus plėtinių tipus darbalaukyje.
Vis dar trūksta pratęsimo, nuo kurio priklausote? Šis „Google“ dokumentas seka keletą populiarių plėtinių ir suteikia alternatyvų kelioms įprastoms. Šis sąrašas taip pat naudingas.