Чому Firefox повинен був убити ваше улюблене розширення
Firefox 57, або Quantum, тут, і це величезне поліпшення. Firefox, нарешті, наздогнав Chrome з точки зору швидкості, інтерфейс набагато чистіше, і є кілька нових можливостей для завантаження. Тут нема чого скаржитися.
Просто шуткую. В Інтернеті завжди є на що скаржитися.
З Firefox Quantum, скарга de jour в тому, що деякі розширення більше не працюють. Численні розширення високого профілю, включаючи DownThemAll і Greasemonkey, в даний час не працюють з Quantum. Інші, включаючи Firebug і ScrapBook, швидше за все, ніколи не працюватимуть знову.
Це неприємно, якщо ви користувач однієї з цих служб, і ви можете подумати, що це дещо довільно. Це не так. Подобається це чи ні, Mozilla вважає, що у них немає вибору, крім того, щоб відмовитися від того, що вона називає «спадщиною» доповненнями, щоб рухатися вперед. Ось чому.
Як працювали попередні розширення Firefox
Традиційні розширення Firefox, як правило, написані на мові XML User Interface Language (XUL). Це мова, на якій побудований інтерфейс користувача Firefox, а розширення на основі XUL можуть безпосередньо змінювати цей інтерфейс. Ці додатки також мали майже повний доступ до XPCOM, потужної компонентної об'єктної моделі, що використовується Firefox.
Якщо це пішло по вашій голові, просто знайте це: розширення Firefox мали більш-менш загальну можливість змінити ваш браузер, і вони внесли ці зміни безпосередньо. Ось чому ці розширення були настільки потужними: не було встановленого набору речей, які вони могли і не могли змінити. Крім того, ці розширення мають тенденцію до розриву з новими випусками Firefox.
Розширення для Chrome або Safari не працюють таким чином. Ці веб-переглядачі надають розробникам певних API-інтерфейсів, які вони можуть використовувати, тобто існує безліч розширень, які можна і не можуть контролювати. Протягом двох років 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
Деякі користувачі не помічають цього перемикання навіть тому, що розширення, з якими вони працюють, вже використовують WebExtension API. Інші розширення не включені.
Це може бути тому, що розробник давно відмовився від розширення або не хоче переписувати його для використання API. У деяких випадках API не пропонує достатнього контролю для повторного створення оригінального розширення, тому розробники відмовляються від своїх проектів. І в багатьох випадках перетворення ще не виконано.
У будь-якому випадку, розширення не порушуються, тому що Mozilla щось змінив щось несподівано. WebExtensions є частиною Firefox протягом двох років, а кінцевий термін оновлення розширень був оголошений рік тому:
До кінця 2017 року та з випуском Firefox 57 ми перейдемо виключно до WebExtensions і припинимо завантажувати будь-які інші типи розширень на робочому столі.
Ще не вистачає розширення, від якого ви залежите? Цей документ Google відстежує кілька популярних розширень і надає альтернативи декільком поширеним. Цей список також корисний.