Pagina principala » HOWTO » De ce Firefox a trebuit să vă ucidă extensia preferată

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

    Firefox 57, sau Quantum, este aici și este o îmbunătățire imensă. Firefox a ajuns în sfârșit la Chrome în termeni de viteză, 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 din nou.

    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 ca nu, Mozilla a simțit că nu au avut de ales decât să renunțe la ceea ce numesc add-on-uri "moștenire" 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 această interfață. Aceste programe de completare aveau, de asemenea, aproape acces complet la XPCOM, modelul obiect puternic component folosit de Firefox.

    Dacă asta ț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 schimbă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 le-a putut schimba. De asemenea, de ce 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 extensii API-uri specifice pe care le pot utiliza, ceea ce înseamnă că există o listă setată de lucruri pe care extensiile 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 au îmbunătățit Firefox dificil

    Firefox Quantam nu este prima actualizare pentru a rupe o extensie: aceasta a fost o problemă continuă de ani de zile. Deoarece extensiile Firefox ar putea afecta Firefox atât de direct, a fost posibil chiar modificări minore ale Firefox în sine pentru a rupe complet add-on-urile sau doar să introducă 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 posibilul pentru a se asigura că extensiile populare au funcționat înainte de a impinge o nouă versiune, dar este ușor să vă imaginați toate acestea care încetinesc dezvoltarea.

    API-ul WebExtensions face mai ușoară toate acestea, definind în mod specific ce extensii pot face și cum pot să le facă. 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. Capabilitatea cu mai multe procese, de exemplu, este o mare parte din boostul de viteză al Firefox Quantam. Patru procese separate gestionează interfața și fișierele 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 tradițional de extensie pur și simplu nu a fost construită și este greu de imaginat să o facem să lucreze fără multe straturi de abstractizare care ar inevitabil încetini lucrurile. Multe modificări ulterioare 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 să folosească 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, 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 limba folosită pentru a scrie extensii este suficient de asemănătoare 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ă nici un motiv ca extensiile dvs. Chrome preferate să nu poată veni în Firefox acum dacă îl întrebați pe dezvoltator 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 pierduse deja utilizatorii

    Unii ar putea argumenta că Firefox va pierde utilizatori din cauza extensiilor rupte, însă este de remarcat faptul că Firefox a pierdut deja utilizatorii de Chrome la o rată alarmantă și a fost de ani de zile. Viteza comparativă și lipsa anumitor add-on-uri nu au ajutat pe acest front, iar Firefox Quantum își propune să rezolve ambele probleme.

    Există o șansă ca aceasta să se întoarcă? Sigur. Unii oameni vor sari 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ă î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 se datorează 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 făcut încă.

    Indiferent de situație, extensiile nu se rup, deoarece Mozilla a schimbat ceva deodată. WebExtensions a făcut parte din Firefox timp de doi ani, iar termenul de actualizare a 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 în WebExtensions și vom opri încărcarea altor tipuri de extensii pe desktop.

    Încă lipsește o extensie de care te bazezi? Acest document Google urmărește mai multe extensii populare și oferă alternative celor mai frecvente. Această listă este, de asemenea, utilă.