Miksi Firefox joutui tappamaan suosikkisi laajennuksesi
Firefox 57, tai Quantum, on täällä, ja se on valtava parannus. Firefox on vihdoin saavuttanut Chromen nopeuden suhteen, käyttöliittymä on paljon puhtaampi, ja käynnistyksessä on hyviä uusia ominaisuuksia. Tässä ei ole paljon valitettavaa.
Kiusoittelen vain. Internetissä on aina jotain valittavaa.
Firefox Quantumin kanssa valituksessa de jour on, että tietyt laajennukset eivät enää toimi. Lukuisat korkean profiilin laajennukset, kuten DownThemAll ja Greasemonkey, eivät tällä hetkellä toimi Quantumin kanssa. Toiset, kuten Firebug ja ScrapBook, eivät koskaan toimi uudelleen.
Tämä on turhauttavaa, jos olet jonkin näistä palveluista, ja saatat ajatella, että se on jonkin verran mielivaltainen. Se ei ole. Pidä siitä vai ei, Mozilla tunsi, että heillä ei ollut muuta vaihtoehtoa kuin luopua siitä, mitä se kutsuu "perinnöksi", jotta he voivat siirtyä eteenpäin. Tässä on miksi.
Miten Legacy Firefoxin laajennukset toimivat
Perinteiset Firefox-laajennukset kirjoitettiin yleensä XML-käyttöliittymäkielellä (XUL). Tämä on kieli, jonka Firefoxin käyttöliittymä on rakennettu, ja XUL-pohjaiset laajennukset voivat muuttaa tätä rajapintaa suoraan. Näillä lisälaitteilla oli myös lähes täydellinen pääsy XPCOMiin, Firefoxin käyttämään tehokkaaseen komponenttikohteeseen.
Jos tämä meni pään yli, vain tiedä tämä: Firefoxin laajennuksilla oli enemmän tai vähemmän täydellistä kykyä vaihtaa selaimesi, ja he tekivät muutokset suoraan. Siksi nämä laajennukset olivat niin voimakkaita: siellä ei ollut määrättyjä asioita, joita he voisivat ja eivät voineet muuttaa. Siksi nämä laajennukset pyrkivät rikkomaan uusia Firefox-julkaisuja.
Chrome- tai Safarin laajennukset eivät toimi tällä tavalla. Nämä selaimet tarjoavat laajennuskehittäjille erityisiä sovellusliittymiä, joita he voivat käyttää, eli siinä on joukko luettelon asioista, joita laajennukset voivat hallita. Kahden vuoden ajan Firefox on tarjonnut samanlaisen API: n, nimeltään WebExtensions, jota se on kehottanut kehittäjiä ottamaan käyttöön.
Perinteiset laajennukset tehostivat Firefoxia
Firefox Quantam ei ole ensimmäinen päivitys, joka katkaisee laajennuksen: tämä on ollut jatkuva ongelma vuosia. Koska Firefox-laajennukset saattavat vaikuttaa suoraan Firefoxiin, Firefoxiin tehtiin jopa pieniä muutoksia, jotka voivat rikkoa lisäosat kokonaan tai ottaa käyttöön vain suorituskyvyn sapping-virheitä.
Firefoxin käyttäjät, jotka eivät tiedä laajennuksia, aiheuttavat ongelman, olettaa, että uusi Firefox-versio on buginen, ja heidän näkökulmastaan se oli. Firefox-tiimi tekisi parhaansa varmistaakseen, että suositut laajennukset toimivat ennen uuden version työntämistä, mutta on helppo kuvitella, että tämä kehitys hidastuu.
WebExtensions API tekee kaiken tämän helpommaksi määrittelemällä, mitä laajennuksia voi tehdä ja miten ne voivat tehdä sen. Tämä tarkoittaa sitä, että kehittäjien on vain varmistettava, että sovellusliittymä toimii oikein, eikä huoli siitä, että suorituskyvyn säätäminen tai käyttöliittymän muutos rikkovat tiettyjä laajennuksia. Tuloksena pitäisi olla vähemmän laajennuksia, jotka rikkoutuvat pitkällä aikavälillä, mutta jotta tämä olisi mahdollista, Mozilla tarvitsi luopua vanhasta ekosysteemistä.
Muutos tekee myös joitakin Quantamin parhaista ominaisuuksista. Esimerkiksi moniprosessikyky on suuri osa Firefox Quantamin nopeusparannusta. Neljä erillistä prosessia käsittelee Firefoxin käyttöliittymää ja välilehtiä, mikä tarkoittaa, että Firefox voi käyttää kaikkia neljää prosessorin ytimiä yhden sijasta. Tämä on todellisuus, että perinteistä laajennusekosysteemiä ei yksinkertaisesti rakennettu, ja on vaikea kuvitella, että se toimii ilman paljon abstraktiokerroksia, jotka väistämättä hidastavat asioita. Monet tulevat Firefoxiin tehdyt muutokset pidätettiin vastaavasti vanhoilla lisäosilla, eli ekosysteemin oli muututtava, jotta Firefox voisi kehittyä.
Cross Platform -yhteensopivuus oli ongelma
Lisäosat antoivat ihmisille pakottavan syyn käyttää Firefoxia Chromeen. Näinä päivinä Chrome on ylivoimaisesti johtava lisäosien osalta, kun taas Firefox voi tuntea, että se on hautausmaa, jota ei ole käsitelty vuosien varrella..
Varmista, että on olemassa muutamia Firefox-laajennuksia, joita et voi saada Chromeen, mutta Chromeilla on suurempi ekosysteemi. Uusi WebExtensions API ei korjaa tätä yöksi, mutta se helpottaa Chrome-laajennusten siirtämistä Firefoxiin, koska laajennusten kirjoittamiseen käytettävä kieli on riittävän samanlainen, jotta päällekkäiset kanavat siirretään. Monissa tapauksissa tarvitaan vain muutamia tweaks-ohjelmia, jotta Chrome-laajennus voi toimia Firefoxissa, mikä tarkoittaa sitä, että suosikkisi Chrome-laajennukset eivät voi tulla Firefoxiin nyt, jos kysyt kehittäjältä hyvin. Tämän pitäisi johtaa uusien laajennusten tulvaan ekosysteemissä, joka voisi suoraan käyttää sitä.
Firefox oli jo menettämässä käyttäjiä
Jotkut saattavat väittää, että Firefox menettää käyttäjät rikkoutuneiden laajennusten takia, mutta on syytä huomata, että Firefox oli jo menettämässä käyttäjiä Chromeen hälyttävällä nopeudella ja on ollut vuosia. Vertailunopeus ja tiettyjen lisäosien puuttuminen eivät auttaneet siinä, ja Firefox Quantum pyrkii korjaamaan molemmat ongelmat.
Onko mahdollisuutta, että tämä tulee takaisin? Varma. Jotkut hyppäävät laivaan Chromeen, ja muut saattavat etsiä vanhoja haarukoita, jotka ylläpitävät vanhaa ekosysteemiä. Mutta se ei ole kuin asiat menivät hyvin ennen. Firefoxin oli kehitettävä pysyä asiallisena, ja näin he päättivät tehdä sen.
Kehittäjät joutuivat vaihtamaan uuteen sovellusliittymään
Jotkut käyttäjät eivät huomaa, että tämä kytkin on edes tapahtunut, koska laajennukset, joita ne käyttävät, käyttävät jo WebExtension API: ta. Muita laajennuksia ei ole vaihdettu.
Tämä voi johtua siitä, että kehittäjä luopui laajennuksesta jo kauan sitten, tai ei tunne sitä uudelleen kirjoittavan sitä API: n käyttöön. Joissakin tapauksissa sovellusliittymä ei tarjoa tarpeeksi ohjausta alkuperäisen laajennuksen luomiseen, joten kehittäjät luopuvat projekteistaan. Ja monissa tapauksissa muuntaminen ei yksinkertaisesti ole vielä valmis.
Joka tapauksessa laajennukset eivät rikkoa, koska Mozilla muutti jotain yhtäkkiä. WebExtensions on ollut osa Firefoxia kaksi vuotta, ja laajennusten päivittämisen määräaika ilmoitettiin vuosi sitten:
Vuoden 2017 loppuun mennessä ja Firefox 57: n julkaisun myötä siirrymme yksinomaan WebExtensionsiin ja lopetamme muiden laajennustyyppien lataamisen työpöydälle.
Puuttuuko edelleen laajennus, jonka olet riippuvainen? Tämä Google-asiakirja seuraa useita suosittuja laajennuksia ja tarjoaa vaihtoehtoja useille tavallisille. Tämä luettelo on myös hyödyllinen.