If-Koubou

Dlaczego Firefox musiał zabić Twoje ulubione rozszerzenie

Dlaczego Firefox musiał zabić Twoje ulubione rozszerzenie (Jak)

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 już 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. Nie jest. Czy się to podoba, czy też nie, Mozilla uznała, że ​​nie mają wyboru, jak zrezygnować z tego, co nazywa "starszymi" dodatkami, aby posunąć się naprzód. Dlatego.

Jak działają starsze wersje rozszerzeń przeglądarki Firefox

Tradycyjne rozszerzenia przeglądarki Firefox generalnie pisano w języku 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. Te dodatki miały również 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 Firefoksa 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 łamania się w nowych wydaniach Firefoksa.

Rozszerzenia do 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 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 stanowi 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 w działaniu.

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 jest wyobrazić sobie cały ten spowalniający rozwój.

Interfejs API WebExtensions ułatwia to zadanie, określając szczegółowo, 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ń.

Ta zmiana umożliwia również wykorzystanie niektórych z najlepszych funkcji programu Quantam. 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 spowalniałyby sytuację. Wiele nadchodzących zmian w Firefoxie 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, podczas gdy Firefox może czuć się jak cmentarz nieużywanych rozszerzeń 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 API WebExtensions 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 przychodziły teraz do Firefoksa, jeśli zapytasz programistę wystarczająco ładnie. 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 zepsutych 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 ma na celu naprawienie 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ć.

Programiści 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 na jego ponowne pisanie w celu korzystania z interfejsu API. W niektórych przypadkach interfejs API nie zapewnia wystarczającej kontroli nad ponownym utworzeniem oryginalnego rozszerzenia, więc programiści porzucają swoje projekty.W wielu przypadkach konwersja po prostu jeszcze się nie kończy.

Niezależnie od przypadku rozszerzenia nie pękają, 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.