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.
To je frustrirajuće ako ste korisnik neke od tih usluga, a možda mislite da je to pomalo proizvoljna. 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.
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.
Ako je to prešlo preko glave, samo znajte ovo: Firefox ekstenzije imale su više ili manje ukupnu mogućnost promjene vašeg preglednika i izravno su izvršile te promjene. 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.
Firefox Quantam nije prvo ažuriranje za prekid proširenja: ovo je trajni problem 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.
Firefoxovi korisnici koji nisu znali da su proširenja uzrokovali problem, pretpostavit će da je nova verzija Firefoxa lud, i iz njihove perspektive to jest. 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.
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.
Svakako, 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.
Neki mogu tvrditi da će Firefox izgubiti korisnike zbog prekidnih proširenja, no valja napomenuti da Firefox već gubi korisnike Chromea u alarmantnoj stopi i 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.
Neki korisnici neće primijetiti da se ova preklopnica čak i dogodila jer proširenja s kojima rade već koriste API za WebExtension. Ostala proširenja nisu se prebacila.
To može biti jer je razvojni programer već davno napustio proširenje ili se ne osjeća kao da je ponovno zapisuje 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 oslobađanje Firefoxa 57, isključit ćemo se samo na WebExtensions i prestat ćemo učitati ostale vrste proširenja na radnoj površini.
I dalje nedostaje proširenje na kojem ovisi? Ovaj Google dokument prati nekoliko popularnih proširenja i nudi alternative za nekoliko uobičajenih. Ovaj popis je također koristan.