13Sep

Zašto je Firefox trebao ubiti vaše omiljeno proširenje

click fraud protection

Firefox 57 ili Quantum je ovdje, i to je ogroman napredak. Krijesnica je napokon dostigla Chrome u smislu brzine, sučelje je puno čišće i postoje neke sjajne nove značajke za dizanje. Ovdje se ne žali puno.

Samo se šalim. Na internetu, uvijek se nešto žali.

Uz Firefox Quantum prigovor je da određena proširenja više ne funkcioniraju. Brojna proširenja s visokim profilima, uključujući DownThemAll i Greasemonkey, trenutno ne rade s Quantumom. Drugi, uključujući Firebug i ScrapBook, vjerojatno više neće raditi.

Ovo je frustrirajuće ako ste korisnik jedne od tih usluga, a možda mislite da je to pomalo proizvoljni. Nije. Sviđalo se to ili ne, Mozilla je osjetila da nemaju izbora nego napustiti ono što naziva "naslijeđenim" dodacima kako bi se krenulo naprijed. Evo zašto.

Korištenje starih ekstenzija Firefox

Tradicionalna ekstenzija Firefoxa uglavnom su pisana u XML User Interface Language( XUL).Ovo je jezik s Firefoxovim korisničkim sučeljem, a ekstenzije temeljene na XUL-u mogu izravno mijenjati taj sučelje. Ti dodatci također su imali puni pristup XPCOM-u, moćnom modelu objektnih komponenti koji koristi Firefox.

instagram viewer

Ako je to prešlo preko glave, samo to znajte: Firefox ekstenzije imale su više ili manje ukupnu sposobnost promjene vašeg preglednika i izravno su izvršile te izmjene. To je razlog zašto su ta proširenja bila toliko moćna: nije bilo propisane skupa stvari koje su mogle i koje se nisu mogle promijeniti. To je također razlog zašto su ta proširenja sklona prekinuti s novim Firefox izdanjima.

proširenja za Chrome ili Safari ne funkcioniraju na ovaj način. Ti preglednici nude specifične API-je za razvojne programere proširenja koje mogu upotrebljavati, što znači da postoji skup popis stvari koje proširenja mogu i ne mogu kontrolirati. Već dvije godine, Firefox je ponudio sličan API pod nazivom WebExtensions, koji je potaknuo razvojne programere da usvoje.

Tradicionalna proširenja koja su poboljšala Firefox teško

Firefox Quantam nije prvo ažuriranje za prekid proširenja: ovo je trajni problem već godinama. Budući da Firefox ekstenzije mogu utjecati na Firefox tako izravno, bilo je moguće čak i manje izmjene u samom Firefoxu da potpuno prekinu dodatke ili jednostavno uvesti bugove koji prelijevaju performanse.

Korisnici Firefoxa, koji nisu znali da su proširenja uzrokovao problem, pretpostavit će da je nova verzija Firefoxa lud, i iz njihove perspektive. Firefox tim će učiniti sve kako bi osigurao da popularna proširenja rade prije guranja nove inačice, no lako je zamisliti sve to usporavanje razvoja.

API WebExtensions sve to olakšava specifičnim definiranjem onoga što proširenja mogu učiniti i kako to mogu učiniti. To znači da razvojni programeri trebaju samo osigurati da API funkcionira pravilno, a ne brinite da će podešavanje performansi ili izmjena korisničkog sučelja proći određena proširenja. Rezultat bi trebao biti manji broj produžetaka koji bi se dugoročno razbili, ali da bi to bilo moguće, Mozilla je trebala napustiti staro eksterni ekstenzijski sustav.

Promjena također čini neke od najboljih mogućnosti Quantam. Primjerice, sposobnost više procesa je veliki dio Firefoxova Quantamove brzine.Četiri zasebna procesa obrađuju Firefoxovo sučelje i kartice, što znači da Firefox može koristiti sve četiri jezgre vašeg procesora umjesto samo jednog. To je stvarnost da tradicionalno proširenje ekosustava jednostavno nije izgrađen za, i teško je zamisliti da je to radi bez puno slojeva apstrakcije koji bi neizbježno usporiti stvari. Na sličan način, mnoge nadolazeće promjene Firefoxa bile su zadržane naslijeđenim dodacima, što znači da je ekosustav morao promijeniti kako bi se Firefox razvio.

Kompatibilnost među platformama bila je problem

Jednom davno, dodati su ljudima uvjerljiv razlog za korištenje Firefoxa preko Chromea. Ovih dana Chrome je daleko vodeći u smislu dodataka, a Firefox se može osjećati kao groblje neprolaznih proširenja iz godina.

Naravno, postoji nekoliko Firefox ekstenzija koje ne možete dobiti u Chromeu, ali Chrome ima daleko veći ekosustav. Novi API za WebExtensions neće popraviti ovo preko noći, ali olakšava Chromeovim proširenjima da se prenesu u Firefox jer je jezik koji se upotrebljava za pisanje proširenja dovoljno sličan da bi prijenos mogao biti površan. U mnogim slučajevima potrebno je samo nekoliko prilagodbi za pokretanje Chromea za pokretanje u Firefoxu, što znači da nema razloga da vaša omiljena Chromeova proširenja ne mogu doći u Firefox sada ako dobro pitate razvojnog programera. To bi trebalo dovesti do poplave novih proširenja u ekosustavu koji bi je iskreno mogli iskoristiti.

Firefox je već izgubio korisnike

Neki svibanj tvrde da Firefox će izgubiti korisnike zbog prekida proširenja, ali to je vrijedno napomenuti da je Firefox već gubio korisnika Chromea na alarmantan stopa, a već godinama. Usporedna brzina i nedostatak određenih dodataka nisu pomagali na toj fronti, a Firefox Quantum ima za cilj popraviti oba problema.

Ima li šanse da će to povratiti? Naravno. Neki će ljudi skočiti u Chrome, a drugi bi mogli potražiti drevne vilice koje održavaju staro ekosustav. Ali nije baš kao da stvari idu mnogo prije. Firefox je trebao razvijati kako bi ostao relevantan, i tako su odlučili to učiniti.

Razvijatelji imali vremena za prelazak na novi API

Neki korisnici neće primijetiti da se ova preklopnica čak i dogodila jer proširenja s kojima rade već koriste API WebExtension. Ostala proširenja nisu se prebacila.

To bi moglo biti zbog toga što je razvojni programer već davno napustio proširenje ili se ne smatra ponovnim napisom za upotrebu API-ja. U nekim slučajevima, API ne nudi dovoljno kontrole za ponovnu izradu izvornog proširenja, tako da programeri napuštaju svoje projekte. I u mnogim slučajevima, pretvorba jednostavno nije učinjena još.

Bez obzira na slučaj, proširenja se ne razbiju jer je Mozilla nešto odjednom promijenila. WebExtensions dio je Firefoxa dvije godine, a krajnji rok za ažuriranje proširenja objavljen je prije godinu dana:

Do kraja 2017., a uz objavu Firefoxa 57, isključit ćemo se samo na WebExtensions i prestat ćemo učitavatidruge vrste proširenja na radnoj površini.

Još uvijek nedostaje proširenje na koje ovisi? Ovaj Google dokument prati nekoliko popularnih proširenja i nudi alternative za nekoliko uobičajenih. Ovaj popis je također koristan.