Hvorfor Firefox måtte drepe din favorittforlengelse

Innholdsfortegnelse:

Hvorfor Firefox måtte drepe din favorittforlengelse
Hvorfor Firefox måtte drepe din favorittforlengelse

Video: Hvorfor Firefox måtte drepe din favorittforlengelse

Video: Hvorfor Firefox måtte drepe din favorittforlengelse
Video: Hubble - 15 years of discovery - YouTube 2024, Mars
Anonim
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 på her.
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 på 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øyprofilutvidelser, 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 som kalles "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.
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 selv små endringer i Firefox selv å koble til tillegg helt, eller bare introdusere bugs for ytelse.
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 selv små endringer i Firefox selv å koble til tillegg helt, eller bare introdusere bugs for ytelse.

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 vil gjøre sitt beste for å sikre at populære utvidelser virket før du trykker på 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 skulle 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 fartforbedring. 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 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øles som et kirkegård av uovervåtte utvidelser fra år til år.
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øles som et kirkegård av uovervåtte utvidelser fra år til år.

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 gir API ikke nok kontroll til å 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 plutselig. WebExtensions har vært en del av Firefox i to år, og fristen for oppdatering av utvidelser ble annonsert for et år siden:

By the end of 2017, and with the release of Firefox 57, we’ll move to WebExtensions exclusively, and will stop loading any other extension types on desktop.

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.

Anbefalt: