Miks Firefox pidi oma lemmiklahenduse tapma
Firefox 57 või Quantum on siin ja see on tohutu edasiminek. Lõpuks on Firefox jõudnud Chrome'i juurde kiiruse poolest, liides on palju puhtam ja seal on mõned suurepärased uued funktsioonid. Siin pole palju kaebusi esitada.
Tegin nalja. Internetis on alati midagi ette heita.
Firefox Quantumiga on kaebus de jour, et teatud laiendused enam ei tööta. Mitmed kõrgetasemelised laiendused, sealhulgas DownThemAll ja Greasemonkey, ei tööta praegu Quantumiga. Teised, sealhulgas Firebug ja ScrapBook, ei tööta tõenäoliselt kunagi.
See on masendav, kui olete mõne sellise teenuse kasutaja ja te arvate, et see on mõnevõrra meelevaldne. See ei ole. Mulle meeldib või mitte, Mozilla tundis, et neil ei ole valikut, vaid loobuda sellest, mida ta nimetab "pärandiks", et edasi liikuda. Siin on põhjus, miks.
Kuidas Legacy Firefoxi laiendused töötasid
Traditsioonilised Firefoxi laiendused kirjutati üldiselt XML-i kasutajaliidese keeles (XUL). See on keel, millega Firefoxi kasutajaliides on ehitatud ja XUL-põhised laiendused võivad seda liidest vahetult muuta. Neil lisandmoodulitel oli ka peaaegu täielik juurdepääs XPCOM-ile, võimsale komponendi objekti mudelile, mida Firefox kasutas.
Kui see juhtus teie pea üle, teadke seda lihtsalt: Firefoxi laiendustel oli brauseri vahetamise võime enam-vähem täielik ning need muutused toimusid otse. Sellepärast olid need laiendused nii võimsad: ei olnud ette nähtud asju, mida nad võisid ja ei saanud muuta. See on ka põhjus, miks need laiendused kipuvad uusi Firefoxi väljaandeid katkestama.
Chrome'i või Safari laiendused ei tööta nii. Need brauserid pakuvad laienduste arendajatele spetsiifilisi API-sid, mida nad saavad kasutada, mis tähendab, et on olemas nimekiri asjade laienditest, mida saab ja ei saa kontrollida. Kahe aasta jooksul on Firefox pakkunud sarnast API-d nimega WebExtensions, mida ta on julgustanud arendajaid vastu võtma.
Traditsioonilised laiendused on Firefoxi parandamine keeruline
Firefox Quantam ei ole esimene uuendus, mis katkestab laienduse: see on olnud pidev probleem juba aastaid. Kuna Firefoxi laiendused võivad Firefoxi nii otseselt mõjutada, oli võimalik, et isegi väikesed muudatused Firefoxis ise lisandmoodulid täielikult katkestada või lihtsalt esitavad tulemuse salvestamise vead.
Firefoxi kasutajad, kes ei tea, millised laiendused probleemi põhjustasid, eeldaks, et uus Firefoxi versioon on lollakas ja nende vaatenurgast see oli. Firefoxi meeskond teeb kõik endast oleneva, et tagada, et populaarsed laiendused toimiksid enne uue versiooni vajutamist, kuid on lihtne ette kujutada, et kõik see aeglustab arengut.
WebExtensions API muudab selle kõik lihtsamaks, määratledes konkreetselt, mida laiendused saavad teha ja kuidas nad seda teha saavad. See tähendab, et arendajad peavad ainult tagama, et API töötab korralikult, ja ärge muretsege, et tulemuslikkuse näpistamis- või kasutajaliidese muutus katkestab teatud laiendused. Tulemuseks peaks olema pikemaajaliste katkestuste arvu vähenemine, kuid selleks, et see oleks võimalik, pidi Mozilla loobuma vanast laienduse ökosüsteemist.
Muudatus muudab ka mõned Quantami parimad omadused. Näiteks on mitme protsessi võimekus suur osa Firefox Quantam'i kiiruse suurendamisest. Neli erinevat protsessi käitavad Firefoxi liidest ja vahekaarte, mis tähendab, et Firefox saab kasutada ainult nelja protsessori südamikku ühe asemel. See on reaalsus, et traditsioonilist laienemise ökosüsteemi lihtsalt ei ehitatud ja on raske ette kujutada, et see toimiks ilma paljude abstraktsete kihtidena, mis paratamatult aeglustavad asju. Paljud eelseisvad Firefoxi muudatused olid sarnaselt varjatud ka vanade lisandmoodulitega, mis tähendab, et ökosüsteem pidi muutuma, et Firefox areneks.
Probleemiks oli risti platvormi ühilduvus
Aeg-ajalt andsid lisandmoodulid inimestele kaalukad põhjused Firefoxi kasutamiseks Chrome'i kaudu. Nendel päevadel on Chrome lisandmoodulite osas juhtpositsioonil, samas kui Firefox võib tunda enneaegselt hooldamata laienduste surnuaeda.
Muidugi on mõned Firefoxi laiendused, mida Chrome'i ei saa, kuid Chromeil on suurem ökosüsteem. Uus WebExtensions API ei lahenda seda üleöö, kuid see muudab Chrome'i laienduste hõlpsamaks muutmise Firefoxile, sest laienduste kirjutamiseks kasutatav keel on pealiskaudse teisaldamise jaoks piisavalt sarnane. Paljudel juhtudel on Chrome'i laienduse jaoks Firefoxis vaja vaid mõnda tweaksit, mis tähendab, et teie lemmik Chrome'i laiendused ei saa Firefoxi juurde tulla, kui küsite arendajalt piisavalt. See peaks viima uute laienduste üleujutuseni ökosüsteemis, mis võiks seda ausalt kasutada.
Firefox oli juba kasutajate kaotamine
Mõned võivad väita, et Firefox kaotab kasutajate purunenud laienduste tõttu, kuid tasub märkida, et Firefox kaotas juba Chrome'i kasutajatele murettekitava kiirusega ja on olnud aastaid. Võrreldav kiirus ja teatud lisandmoodulite puudumine ei aidanud sellel esiküljel ja Firefox Quantum püüab mõlemat probleemi lahendada.
Kas on võimalus, et see tagasilöök? Muidugi. Mõned inimesed lähevad laevale Chrome'i ja teised võivad otsida vanu kahvleid, mis säilitavad vana laienduse ökosüsteemi. Aga see ei ole nii, nagu asjad olid hästi läinud. Firefox pidi oluliseks muutuma, ja nii otsustasid nad seda teha.
Arendajatel oli aeg uuele API-le minna
Mõned kasutajad ei märka seda lülitit isegi juhtunud, sest laiendused, mida nad juba kasutavad, kasutavad juba WebExtension API-d. Muud laiendused pole sisse lülitatud.
See võib olla tingitud sellest, et arendaja loobus pikendamisest juba ammu või ei tunne seda API kirjutamiseks selle uuesti kirjutamiseks. Mõnel juhul ei paku API algupärase laienduse loomiseks piisavalt kontrolli, nii et arendajad loobuvad oma projektidest. Ja paljudel juhtudel ei ole konversioon veel tehtud.
Olenemata sellest, et laiendused ei riku, sest Mozilla muutis midagi järsku. WebExtensions on olnud Firefoxi osa kaks aastat ja laienduste uuendamise tähtaeg kuulutati välja aasta tagasi:
2017. aasta lõpuks ja Firefoxi 57 vabastamisega liigume ainult WebExtensions'ile ja lõpetame muude laiendustüüpide laadimise töölauale.
Puudub ikka veel laiend, millest te sõltute? See Google'i dokument jälgib mitmeid populaarseid laiendusi ja pakub alternatiive mitmetele levinumatele. See nimekiri on samuti kasulik.