Hjemmeside » hvordan » Hvorfor Firefox måtte drepe din favorittforlengelse

    Hvorfor Firefox måtte drepe din favorittforlengelse

    Firefox 57, eller Quantum, er her, og det er en stor forbedring. Firefox har endelig oppdaget Chrome når det gjelder hastighet, grensesnittet er mye renere, og det er noen flotte nye funksjoner å starte opp. Det er ikke mye å klage over her.

    Bare tuller. På internett er det alltid noe å klage på.

    Med Firefox Quantum er klagen de jour at visse utvidelser ikke fungerer lenger. Tallrike høyprofilerte utvidelser, inkludert DownThemAll og Greasemonkey, jobber for øyeblikket ikke med Quantum. Andre, inkludert Firebug og ScrapBook, vil sannsynligvis aldri fungere igjen.

    Dette er frustrerende hvis du er bruker av en av disse tjenestene, og du tror kanskje det er noe vilkårlig. Det er det ikke. Liker det eller ikke, følte Mozilla at de ikke hadde et valg, men å forlate det det kaller "eldre" tillegg for å kunne bevege seg fremover. Her er hvorfor.

    Slik fungerer eldre Firefox-utvidelser

    Tradisjonelle Firefox-utvidelser ble vanligvis skrevet i XML User Interface Language (XUL). Dette er språket Firefox brukergrensesnitt er bygd med, og XUL-baserte utvidelser kan endre dette grensesnittet direkte. Disse tilleggene hadde også nær full tilgang til XPCOM, den kraftige komponentobjektmodellen som brukes av Firefox.

    Hvis det gikk over hodet ditt, vet du bare dette: Firefox-utvidelser hadde en mer eller mindre total evne til å endre nettleseren din, og de gjorde de endringene direkte. Det var derfor disse utvidelsene var så kraftige: det var ikke et foreskrevet sett av ting de kunne og ikke kunne endre. Det er også derfor disse utvidelsene tendens til å bryte med nye Firefox utgivelser.

    Utvidelser for Chrome eller Safari fungerer ikke på denne måten. Disse nettleserne tilbyr utvidelsesutviklerne spesifikke APIer de kan bruke, noe som betyr at det er en liste over ting som utvidelser kan og ikke kan kontrollere. I to år har Firefox tilbudt en lignende API kalt WebExtensions, som den har oppmuntret utviklere til å adoptere.

    Tradisjonelle utvidelser gjort forbedring av Firefox vanskelig

    Firefox Quantam er ikke den første oppdateringen som bryter en utvidelse: dette har vært et pågående problem i mange år. Fordi Firefox-utvidelser kan påvirke Firefox så direkte, var det mulig for enda mindre endringer i Firefox selv å bryte tilleggene helt, eller bare introdusere ytelseskjærende feil.

    Firefox-brukere, uten å vite at utvidelsene forårsaket problemet, antar at den nye Firefox-versjonen er buggy, og fra deres perspektiv var det. Firefox-teamet ville gjøre sitt beste for å sikre at populære utvidelser fungerte før du presset en ny versjon, men det er lett å forestille seg alt dette reduserer utviklingen.

    WebExtensions API gjør alt dette enklere ved å spesifikt definere hvilke utvidelser som kan gjøres og hvordan de kan gjøre det. Dette betyr at utviklere bare trenger å sikre at API-en fungerer som den skal, og ikke bekymre deg for at en ytelsesjustering eller brukergrensesnittendring vil ødelegge bestemte utvidelser. Resultatet skal være færre utvidelser som bryter i det lange løp, men for å gjøre dette mulig, trengte Mozilla å forlate det gamle utvidelsesøkosystemet.

    Endringen gjør også noen av Quantams beste funksjoner mulig. Multi-prosessegenskapen, for eksempel, er en stor del av Firefox Quantams fartforhøyelse. Fire separate prosesser håndterer Firefox grensesnitt og faner, noe som betyr at Firefox kan bruke alle fire kjernene til prosessoren din i stedet for bare en. Dette er en realitet som det tradisjonelle utvidelsesøkosystemet ikke bare ble bygget for, og det er vanskelig å forestille seg at det fungerer uten mange lag av abstraksjon som uunngåelig vil bremse ting ned. Mange kommende endringer i Firefox ble likevel holdt tilbake av legacy add-ons, noe som betyr at økosystemet måtte endre for at Firefox skulle utvikle seg.

    Kryssplattformskompatibilitet var et problem

    En gang i gang ga tilleggsprogrammer folk en overbevisende grunn til å bruke Firefox over Chrome. I disse dager er Chrome langt overlegen når det gjelder tilleggsprogrammer, mens Firefox kan føle seg som et kirkegård med uovervåtte utvidelser fra mange år siden.

    Jo, det er noen Firefox-utvidelser som du ikke kan komme inn i Chrome, men Chrome har det største økosystemet langt. Den nye WebExtensions API vil ikke fikse dette over natten, men det gjør det mye enklere for Chrome-utvidelser å bli overført til Firefox fordi språket som brukes til å skrive utvidelser, er like stort for å gjøre overflaten overflødig. I mange tilfeller er det bare noen få tilpasninger som kreves for at en Chrome-utvidelse skal kunne kjøre i Firefox, noe som betyr at det ikke er grunn til at favoritt Chrome-utvidelser ikke kan komme til Firefox nå hvis du spør utvikleren pent nok. Dette burde føre til en oversvømmelse av nye utvidelser i et økosystem som helt ærlig kunne bruke det.

    Firefox har allerede mistet brukerne

    Noen kan hevde at Firefox vil miste brukere på grunn av ødelagte utvidelser, men det er verdt å merke seg at Firefox allerede mistet brukere til Chrome i en alarmerende hastighet, og har vært i mange år. Sammenligningshastighet og mangel på bestemte tilleggsprogrammer hjalp ikke på den fronten, og Firefox Quantum har som mål å fikse begge disse problemene.

    Er det en sjanse for at dette vil komme tilbake? Sikker. Noen vil hoppe skipet til Chrome, og andre kan oppsøke gamle gafler som opprettholder det gamle utvidelsesøkosystemet. Men det er ikke som ting gikk bra før. Firefox trengte å utvikle seg for å være relevant, og slik bestemte de seg for å gjøre det.

    Utviklere hadde tid til å bytte til den nye APIen

    Noen brukere merker ikke at denne bryteren selv har skjedd, fordi utvidelsene de jobber med allerede bruker WebExtension API. Andre utvidelser har ikke byttet.

    Dette kan skyldes at utvikleren forlot utvidelsen for lenge siden, eller har ikke lyst til å skrive på nytt for å bruke API. I noen tilfeller tilbyr API ikke nok kontroll for å gjenopprette den opprinnelige utvidelsen, slik at utviklere forlater prosjektene sine. Og i mange tilfeller er konverteringen ganske enkelt ikke ferdig ennå.

    Uansett er ikke utvidelsene bryte fordi Mozilla forandret noe helt plutselig. WebExtensions har vært en del av Firefox i to år, og fristen for oppdatering av utvidelser ble annonsert for et år siden:

    Ved utgangen av 2017, og med utgivelsen av Firefox 57, flyttes vi til WebExtensions utelukkende, og vil slutte å laste inn andre utvidelsestyper på skrivebordet.

    Mangler du fortsatt en utvidelse du er avhengig av? Dette Google-dokumentet sporer flere populære utvidelser, og gir alternativer til flere vanlige. Denne listen er også nyttig.