If-Koubou

De ce Firefox a trebuit să vă ucidă extensia preferată

De ce Firefox a trebuit să vă ucidă extensia preferată (Cum să)

Firefox 57, sau Quantum, este aici și este o îmbunătățire imensă. Firefox a ajuns în sfârșit la Chrome în ceea ce privește viteza, interfața este mult mai curată și există câteva noi caracteristici noi de boot. Nu sunt multe de plâns aici.

Glumeam. Pe internet, există întotdeauna ceva la care să se plângă.

Cu Firefox Quantum, plângerea de jour este că anumite extensii nu mai funcționează. Numeroase extensii de profil, inclusiv DownThemAll și Greasemonkey, nu lucrează în prezent cu Quantum. Alții, inclusiv Firebug și ScrapBook, probabil că nu vor mai funcționa niciodată.

Acest lucru este frustrant dacă sunteți utilizator al unuia dintre aceste servicii și ați putea crede că este oarecum arbitrară. Nu este. La fel sau nu, Mozilla a simțit că nu au avut de ales decât să renunțe la ceea ce numesc add-on-uri "moștenite" pentru a avansa. Iata de ce.

Cum au funcționat extensiile Firefox Legacy

Extensiile tradiționale Firefox au fost în general scrise în limbajul de interfață cu utilizatorul XML (XUL). Acesta este limba în care interfața de utilizator a utilizatorului Firefox este construită, iar extensiile bazate pe XUL pot modifica direct interfața respectivă. Aceste extensii aveau de asemenea aproape acces complet la XPCOM, modelul obiect puternic component folosit de Firefox.

Dacă acest lucru ți-a trecut peste cap, știi doar asta: extensiile Firefox au avut o capacitate totală mai mare sau mai mică de a-ți schimba browserul și au făcut aceste modificări direct. Acesta este motivul pentru care extensiile au fost atât de puternice: nu a existat un set prescris de lucruri pe care ar putea și nu ar putea să le schimbe. De asemenea, aceste extensii au avut tendința de a se rupe cu noile versiuni de Firefox.

Extensiile pentru Chrome sau Safari nu funcționează în acest fel. Aceste browsere oferă dezvoltatorilor de extensii API-uri specifice pe care le pot utiliza, ceea ce înseamnă că există o listă setată de extensii pe care lucrurile pot și nu le pot controla. Timp de doi ani, Firefox a oferit un API similar numit WebExtensions, pe care l-a încurajat pe dezvoltatori să îl adopte.

Extensiile tradiționale efectuate îmbunătățesc Firefox dificil

Firefox Quantam nu este prima actualizare pentru a sparge o extensie: aceasta a fost o problemă continuă de ani de zile. Deoarece extensiile Firefox ar putea afecta Firefox atât de direct, au fost posibile schimbări minore chiar în Firefox pentru a sparge complet add-on-urile sau doar pentru a introduce bug-uri de performanță.

Utilizatorii din Firefox, fără să știe că extensiile provoacă această problemă, ar presupune că noua versiune Firefox este buggy, iar din perspectiva lor a fost. Echipa Firefox ar face tot ce le stă în putință pentru a asigura că extensiile populare funcționează înainte de a impinge o nouă versiune, dar este ușor să vă imaginați toate acestea care încetinesc dezvoltarea.

API-ul WebExtensions face toate acestea mai ușor prin definirea specifică a extensiilor ce pot face și a modului în care pot face acest lucru. Aceasta înseamnă că dezvoltatorii trebuie doar să se asigure că API funcționează corect și să nu vă faceți griji că modificarea performanței sau modificarea interfeței UI va întrerupe anumite extensii. Rezultatul ar trebui să fie mai puține extinderi rupte pe termen lung, dar pentru a face acest lucru posibil, Mozilla a trebuit să renunțe la vechiul ecosistem de extindere.

De asemenea, schimbarea face posibile unele dintre cele mai bune caracteristici ale Quantam. Capacitatea multi-proces, de exemplu, este o mare parte din boost-ul de viteză al Firefox Quantam. Patru procese separate gestionează interfața și filele Firefox, ceea ce înseamnă că Firefox poate folosi toate cele patru nuclee ale procesorului în loc de unul singur. Aceasta este o realitate pe care ecosistemul de extindere tradițional nu a fost construită pur și simplu și este greu să ne imaginăm că a reușit să funcționeze fără multe straturi de abstractizare care ar inevitabil încetini lucrurile. Multe modificări viitoare la Firefox au fost, de asemenea, reținute de suplimentele moștenite, ceea ce înseamnă că ecosistemul a trebuit să se schimbe pentru ca Firefox să evolueze.

Compatibilitatea Cross Platform a fost o problemă

Odată, add-on-urile le-au dat oamenilor un motiv convingător de a folosi Firefox pe Chrome. Aceste zile, Chrome este de departe liderul în ceea ce privește add-on-urile, în timp ce Firefox se poate simți ca un cimitir de extensii neîntenționate din anii trecuți.

Sigur că există câteva extensii Firefox pe care nu le puteți accesa în Chrome, dar Chrome are de departe un ecosistem mai mare. Noul API WebExtensions nu va repara acest lucru peste noapte, dar face mult mai ușor ca extensiile Chrome să fie transferate în Firefox, deoarece limbajul folosit pentru scrierea extensiilor este suficient de similar pentru a face portarea superficială. În multe cazuri, sunt necesare doar câteva modificări pentru ca o extensie Chrome să ruleze în Firefox, ceea ce înseamnă că nu există niciun motiv ca extensiile Chrome preferate să nu poată veni în Firefox acum, dacă întrebați dezvoltatorul destul de bine. Acest lucru ar trebui să ducă la o inundație de noi extensii într-un ecosistem care ar putea să o folosească sincer.

Firefox pierde deja utilizatorii

Unii ar putea argumenta că Firefox va pierde utilizatori din cauza extensiilor rupte, dar merită să menționăm că Firefox pierde deja utilizatorii de Chrome la o rată alarmantă și a fost de ani de zile. Viteza comparativă și lipsa unor add-on-uri nu au ajutat pe acest front, iar Firefox Quantum își propune să rezolve ambele probleme.

Există șanse ca acest lucru să se întoarcă? Sigur. Unii oameni vor sări la Chrome, iar alții ar putea căuta furci vechi care să mențină vechiul ecosistem de extindere. Dar nu este ca lucrurile să meargă mai bine înainte. Firefox a trebuit să evolueze pentru a rămâne relevant, așa au decis să facă acest lucru.

Dezvoltatorii au avut timp să treacă la noul API

Unii utilizatori nu vor observa că acest switch sa întâmplat, deoarece extensiile cu care lucrează utilizează deja API-ul WebExtension. Alte extensii nu au fost schimbate.

Acest lucru ar putea fi datorită faptului că dezvoltatorul a abandonat extensia cu mult timp în urmă sau nu simte că o va re-scrie pentru a utiliza API-ul. În unele cazuri, API nu oferă suficient control pentru a re-crea extensia originală, astfel încât dezvoltatorii își abandonează proiectele.Și, în multe cazuri, conversia pur și simplu nu sa terminat încă.

Indiferent de situație, extensiile nu se rup, deoarece Mozilla a schimbat ceva dintr-o dată. WebExtensions a făcut parte din Firefox timp de doi ani, iar termenul pentru actualizarea extensiilor a fost anunțat acum un an:

Până la sfârșitul anului 2017, și odată cu lansarea Firefox 57, vom trece exclusiv la WebExtensions și vom opri încărcarea altor tipuri de extensii pe desktop.

Încă lipsește o extensie de care depindeți? Acest document Google urmărește mai multe extensii populare și oferă alternative la mai multe dintre cele obișnuite. Această listă este de asemenea utilă.