Защо Firefox трябваше да убива любимото ви разширение
Firefox 57, или Quantum, е тук, и това е огромно подобрение. Firefox най-накрая е настигнал Chrome по отношение на скоростта, интерфейсът е много по-чист и има някои нови възможности за зареждане. Тук няма какво да се оплакваме.
Просто се шегувам. В интернет винаги има какво да се оплаква.
С Firefox Quantum, жалбата de jour е, че някои разширения вече не работят. Многобройни разширения с висок профил, включително DownThemAll и Greasemonkey, понастоящем не работят с Quantum. Други, включително Firebug и ScrapBook, вероятно никога няма да работят отново.
Това е разочароващо, ако сте потребител на някоя от тези услуги и може би смятате, че е малко произволно. Не е така. Харесва ни или не, Mozilla смята, че няма избор, освен да изостави това, което нарича „наследство“, за да продължи напред. Ето защо.
Как са работили разширенията на Legacy Firefox
Традиционните разширения на Firefox обикновено бяха написани на езика на XML потребителски интерфейс (XUL). Това е езикът, в който е изграден потребителският интерфейс на Firefox, а разширенията, базирани на XUL, могат да променят директно този интерфейс. Тези добавки също имаха почти пълен достъп до XPCOM, мощния обектен компонент, използван от Firefox.
Ако това премине над главата ви, просто знайте това: разширенията на Firefox имаха повече или по-малко обща способност да променят браузъра си и направили тези промени директно. Ето защо тези разширения бяха толкова мощни: не беше предписан набор от неща, които биха могли и не можеха да се променят. Затова и тези разширения са склонни да се скъсат с новите версии на Firefox.
Разширенията за Chrome или Safari не работят по този начин. Тези браузъри предлагат специфични приложни програми за разработчици, които могат да използват, което означава, че има зададен списък с неща, които разширенията могат и не могат да контролират. В продължение на две години Firefox предлага подобен API, наречен WebExtensions, който насърчава разработчиците да приемат.
Традиционните разширения, създадени за подобряване на Firefox, са трудни
Firefox Quantam не е първата актуализация, която прекъсва разширение: това е постоянен проблем от години. Тъй като разширенията на Firefox могат да повлияят толкова директно върху Firefox, възможно е дори незначителни промени в самия Firefox да нарушават напълно добавките или просто да въвеждат грешки, които намаляват ефективността.
Потребителите на Firefox, които не знаят разширенията, които причиняват проблема, биха предположили, че новата версия на Firefox е непоправена и от тяхна гледна точка е била. Екипът на Firefox ще направи всичко възможно, за да гарантира, че популярните разширения работят, преди да пуснат нова версия, но е лесно да си представите всичко това забавяне на развитието.
API на WebExtensions прави всичко това по-лесно, като конкретно дефинира какво могат да правят разширенията и как могат да го направят. Това означава, че разработчиците трябва само да гарантират, че API функционира правилно, и да не се притеснявате, че промените в производителността или промените в потребителския интерфейс ще нарушат определени разширения. Резултатът трябва да бъде по-малко нарушения в дългосрочен план, но за да стане това възможно, Mozilla трябва да изостави старата екосистема за разширение..
Промяната също прави възможно някои от най-добрите функции на Quantam. Възможността за много процеси, например, е голяма част от ускорението на скоростта на Firefox Quantam. Четири отделни процеса работят с интерфейса и табулациите на Firefox, което означава, че Firefox може да използва всичките четири ядра на вашия процесор, вместо само един. Това е реалност, за която традиционната екосистема просто не е била построена и е трудно да си представим, че тя работи без много пластове абстракция, които неизбежно ще забавят нещата. Много от предстоящите промени във Firefox бяха възпрепятствани по подобен начин от старите добавки, което означава, че екосистемата трябваше да се промени, за да може Firefox да се развива.
Проблем е съвместимостта на платформата
Някога добавките дадоха на хората убедителна причина да използват Firefox през Chrome. Днес Chrome е безспорно лидер по отношение на добавките, докато Firefox може да се чувства като гробище на неиздържани разширения от минали години.
Разбира се, има няколко разширения на Firefox, които не можете да получите в Chrome, но Chrome има по-голямата екосистема. Новият API на WebExtensions няма да поправи това през нощта, но го прави много по-лесно за разширенията на Chrome да бъдат прехвърлени към Firefox, защото езикът, използван за писане на разширения, е достатъчно подобен, за да направи пренасянето повърхностно. В много случаи са необходими само няколко промени, за да се изпълнява разширението на Chrome в Firefox, което означава, че няма причина любимите ви разширения на Chrome да не могат да дойдат в Firefox сега, ако попитате разработчика достатъчно добре. Това би трябвало да доведе до наводнение на нови разширения в една екосистема, която би могла да я използва.
Firefox вече губи потребители
Някои може да твърдят, че Firefox ще загуби потребители поради счупени разширения, но си струва да се отбележи, че Firefox вече губи потребителите на Chrome с обезпокоителни темпове и е от години. Сравнителната скорост и липсата на някои добавки не помогнаха за това, а Firefox Quantum има за цел да отстрани и двата проблема..
Има ли някакъв шанс това да се обърне? Сигурен. Някои хора ще прескочат кораба до Хром, а други могат да търсят древни вили, които поддържат старата екосистема. Но нещата не вървят добре преди. Firefox трябваше да се развива, за да остане актуален, и така решиха да го направят.
Разработчиците имаха време да преминат към новия API
Някои потребители няма да забележат този превключвател дори се е случило, защото разширенията, с които работят, вече използват API на WebExtension. Другите разширения не са включени.
Това може да се дължи на това, че разработчикът отдавна е изоставил разширяването или не иска да го пренапише, за да използва API. В някои случаи API не предлага достатъчно контрол за повторно създаване на оригиналното разширение, така че разработчиците се отказват от проектите си. И в много случаи конвертирането просто не е приключило.
Какъвто и да е случаят, разширенията не се счупват, защото Мозила внезапно промени нещо. WebExtensions е част от Firefox в продължение на две години и крайният срок за актуализиране на разширенията е обявен преди година:
До края на 2017 г. и с пускането на Firefox 57 ще преминем само към WebExtensions и ще спрем да зареждаме други типове разширения на работния плот.
Все още липсва разширението, от което зависи? Този документ на Google проследява няколко популярни разширения и предлага алтернативи на няколко обикновени разширения. Този списък също е полезен.