Główna » jak » Dlaczego Firefox musiał zabić Twoje ulubione rozszerzenie

    Dlaczego Firefox musiał zabić Twoje ulubione rozszerzenie

    Firefox 57, lub Quantum, jest tutaj i jest to ogromna poprawa. Firefox w końcu dogonił Chrome pod względem szybkości, interfejs jest o wiele czystszy i jest kilka świetnych nowych funkcji do uruchomienia. Nie ma na co narzekać.

    Żartuję. W Internecie zawsze można na co narzekać.

    W Firefox Quantum skarga jest taka, że ​​niektóre rozszerzenia nie działają. Liczne zaawansowane rozszerzenia, w tym DownThemAll i Greasemonkey, obecnie nie działają z Quantum. Inne, w tym Firebug i ScrapBook, prawdopodobnie już nigdy nie będą działać.

    Jest to frustrujące, jeśli jesteś użytkownikiem jednej z tych usług i możesz myśleć, że jest nieco arbitralna. Tak nie jest. Czy się to podoba, czy też nie, Mozilla uznała, że ​​nie mają wyboru, muszą zrezygnować z tego, co nazywa "starszymi" dodatkami, aby posunąć się naprzód. Dlatego.

    Jak działają starsze rozszerzenia Firefoksa

    Tradycyjne rozszerzenia Firefoxa były generalnie napisane w XML User Interface Language (XUL). W tym języku zbudowany jest interfejs użytkownika Firefoksa, a rozszerzenia oparte na XUL mogą bezpośrednio modyfikować ten interfejs. Dodatki te miały prawie pełny dostęp do XPCOM, potężnego modelu obiektu składowego używanego przez Firefoksa.

    Jeśli to przeszło ci przez głowę, po prostu wiedz, że: rozszerzenia Firefoxa miały mniej więcej całkowitą możliwość zmiany przeglądarki i dokonały tych zmian bezpośrednio. To dlatego te rozszerzenia były tak potężne: nie było określonego zestawu rzeczy, które mogły i nie mogły się zmienić. Właśnie dlatego te rozszerzenia miały tendencję do zerwania z nowymi wersjami Firefoksa.

    Rozszerzenia dla Chrome lub Safari nie działają w ten sposób. Te przeglądarki oferują programistom rozszerzeń specyficzne interfejsy API, z których mogą korzystać, co oznacza, że ​​istnieje zestaw rzeczy, które rozszerzenia mogą i nie mogą kontrolować. Od dwóch lat Firefox oferuje podobne API o nazwie WebExtensions, które zachęcało programistów do adaptacji.

    Tradycyjne rozszerzenia ulepszające Firefox są trudne

    Firefox Quantam nie jest pierwszą aktualizacją, która przełamała rozszerzenie: od lat jest to ciągły problem. Ponieważ rozszerzenia Firefoksa mogły tak bezpośrednio wpłynąć na Firefoksa, możliwe było nawet drobne zmiany w Firefoksie, które całkowicie zepsuły dodatki lub po prostu wprowadziły błędy powodujące wydajność.

    Użytkownicy Firefoksa, nie wiedząc, że rozszerzenia są przyczyną problemu, zakładają, że nowa wersja Firefoksa jest błędna iz ich punktu widzenia była. Zespół Firefoksa postarałby się, aby popularne rozszerzenia działały przed wprowadzeniem nowej wersji, ale łatwo wyobrazić sobie cały ten spowalniający rozwój.

    Interfejs API WebExtensions ułatwia to zadanie, określając dokładnie, co mogą zrobić rozszerzenia i jak mogą to zrobić. Oznacza to, że programiści muszą jedynie upewnić się, że interfejs API działa poprawnie i nie martwcie się, że zmiana wydajności lub zmiana interfejsu użytkownika zepsują poszczególne rozszerzenia. Rezultatem powinno być zmniejszenie liczby rozszerzeń na dłuższą metę, ale aby to umożliwić, Mozilla musiała zrezygnować ze starego ekosystemu rozszerzeń.

    Zmiana ta powoduje także, że niektóre z najlepszych funkcji Quantam są możliwe. Na przykład funkcja wielu procesów jest dużą częścią zwiększenia szybkości Firefox Quantam. Cztery oddzielne procesy obsługują interfejs i karty Firefoksa, co oznacza, że ​​Firefox może używać wszystkich czterech rdzeni procesora zamiast jednego. Jest to rzeczywistość, w której tradycyjny ekosystem rozszerzeń po prostu nie był zbudowany i trudno sobie wyobrazić, aby działał bez wielu warstw abstrakcji, które nieuchronnie spowolniłyby sytuację. Wiele nadchodzących zmian w Firefoksie zostało podobnie powstrzymanych przez starsze dodatki, co oznacza, że ​​ekosystem musiał się zmienić, aby Firefox mógł ewoluować.

    Zgodność między platformami była problemem

    Dawno, dawno temu, ludzie dawali ludziom powód do używania Firefoksa w przeglądarce Chrome. Obecnie Chrome jest zdecydowanie liderem pod względem dodatków, a Firefox może czuć się jak cmentarz z nieużywanymi rozszerzeniami z minionych lat..

    Oczywiście, istnieje kilka rozszerzeń Firefoksa, których nie można uzyskać w Chrome, ale Chrome ma zdecydowanie większy ekosystem. Nowy interfejs WebExtensions API nie naprawi tego z dnia na dzień, ale znacznie ułatwi importowanie rozszerzeń Chrome do Firefoksa, ponieważ język używany do pisania rozszerzeń jest na tyle podobny, że portowanie jest powierzchowne. W wielu przypadkach potrzebne jest tylko kilka poprawek, aby rozszerzenie Chrome działało w Firefoksie, co oznacza, że ​​nie ma powodu, by twoje ulubione rozszerzenia do Chrome nie mogły teraz przyjść do Firefoksa, jeśli dość dobrze zapytasz programistę. Powinno to doprowadzić do zalewu nowych rozszerzeń w ekosystemie, który mógłby z niego szczerze skorzystać.

    Firefox utracił już użytkowników

    Niektórzy mogą twierdzić, że Firefox straci użytkowników z powodu uszkodzonych rozszerzeń, ale warto zauważyć, że Firefox już tracił użytkowników do Chrome w alarmującym tempie i od lat. Szybkość porównywania i brak niektórych dodatków nie pomagały na tym froncie, a Firefox Quantum zmierza do rozwiązania obu tych problemów.

    Czy jest szansa, że ​​to się powtórzy? Pewnie. Niektórzy ludzie przeskakują statki do Chrome, a inni mogą szukać dawnych widelców, które utrzymują stary ekosystem rozszerzeń. Ale to nie tak, że wszystko szło dobrze wcześniej. Firefox musiał ewoluować, aby pozostać aktualnym i tak postanowili to zrobić.

    Deweloperzy mieli czas na przejście na nowe API

    Niektórzy użytkownicy nie zauważą, że ten przełącznik się wydarzył, ponieważ rozszerzenia, z którymi pracują, korzystają już z interfejsu API WebExtension. Inne rozszerzenia nie zostały przełączone.

    Może to być spowodowane tym, że programista porzucił to rozszerzenie dawno temu lub nie ma ochoty go ponownie pisać, aby korzystać z interfejsu API. W niektórych przypadkach interfejs API nie zapewnia wystarczającej kontroli nad ponownym utworzeniem oryginalnego rozszerzenia, dlatego programiści rezygnują ze swoich projektów. W wielu przypadkach konwersja po prostu jeszcze się nie kończy.

    Niezależnie od przypadku rozszerzenia nie są łamane, ponieważ Mozilla zmieniła coś nagle. WebExtensions jest częścią Firefoksa od dwóch lat, a termin aktualizacji rozszerzeń został ogłoszony rok temu:

    Do końca 2017 roku, wraz z wydaniem Firefoksa 57, przeniesiemy się wyłącznie do wersji WebExtensions i przestaniemy ładować wszelkie inne typy rozszerzeń na komputerze.

    Nadal brakuje rozszerzenia, na którym polegasz? Ten dokument Google śledzi kilka popularnych rozszerzeń i oferuje alternatywy dla kilku popularnych. Ta lista jest również przydatna.