Por que o Firefox teve que matar sua extensão favorita

O Firefox 57, ou Quantum, está aqui e é uma grande melhoria. O Firefox finalmente alcançou o Chrome em termos de velocidade, a interface é muito mais limpa e há alguns novos recursos excelentes para inicializar. Não há muito do que reclamar aqui.

Só brincando. Na internet, sempre tem o que reclamar.

Com o Firefox Quantum, a reclamação de jour é que  certas extensões não funcionam mais . Numerosas extensões de alto perfil, incluindo DownThemAll e Greasemonkey, não funcionam atualmente com Quantum. Outros, incluindo Firebug e ScrapBook, provavelmente nunca mais funcionarão.

Isso é frustrante se você é um usuário de um desses serviços e pode pensar que é um tanto arbitrário. Não é. Goste ou não, a Mozilla sentiu que não tinha escolha a não ser abandonar o que chama de add-ons “legados” para seguir em frente. Aqui está o porquê.

Como as extensões legadas do Firefox funcionavam

As extensões tradicionais do Firefox geralmente eram escritas em XML User Interface Language (XUL). Este é o idioma com o qual a interface de usuário do Firefox foi desenvolvida, e extensões baseadas em XUL podem modificar essa interface diretamente. Esses complementos também tinham acesso quase total ao XPCOM, o poderoso modelo de objeto de componente usado pelo Firefox.

Se isso passou por cima da sua cabeça, saiba apenas o seguinte: as extensões do Firefox tinham uma capacidade mais ou menos total de alterar seu navegador e faziam essas alterações diretamente. É por isso que essas extensões eram tão poderosas: não havia um conjunto prescrito de coisas que eles pudessem ou não mudar. É também por isso que essas extensões tendiam a falhar com os novos lançamentos do Firefox.

Recomendado:  Como encontrar sua família e amigos usando o Google Maps

Extensões para Chrome ou Safari não funcionam dessa forma. Esses navegadores oferecem aos desenvolvedores de extensões APIs específicas que podem usar, o que significa que há uma lista de coisas que as extensões podem e não podem controlar. Há dois anos, o Firefox oferece uma API semelhante chamada WebExtensions, que incentiva os desenvolvedores a adotar.

Extensões tradicionais feitas para melhorar o Firefox mais difícil

O Firefox Quantam não é a primeira atualização a quebrar uma extensão: este tem sido um problema constante há anos. Como as extensões do Firefox podem afetar o Firefox diretamente, era possível que até mesmo pequenas alterações no próprio Firefox quebrassem os complementos completamente ou apenas introduzissem bugs que prejudicam o desempenho.

Os usuários do Firefox, não sabendo que as extensões estavam causando o problema, presumiriam que a nova versão do Firefox tem bugs, e de sua perspectiva, era. A equipe do Firefox faria o possível para garantir que as extensões populares funcionassem antes de lançar uma nova versão, mas é fácil imaginar tudo isso retardando o desenvolvimento.

A API WebExtensions torna tudo isso mais fácil, definindo especificamente o que as extensões podem fazer e como podem fazê-lo. Isso significa que os desenvolvedores só precisam garantir que a API esteja funcionando corretamente e não se preocupem com o fato de que um ajuste de desempenho ou alteração da interface do usuário quebrará extensões específicas. O resultado deve ser menos extensões quebrando no longo prazo, mas para tornar isso possível, a Mozilla precisava abandonar o antigo ecossistema de extensão.

A mudança também possibilita alguns dos melhores recursos do Quantam. A capacidade de multiprocessos, por exemplo, é uma grande parte do aumento de velocidade do Firefox Quantam. Quatro processos separados lidam com a interface e as guias do Firefox, o que significa que o Firefox pode usar todos os quatro núcleos do seu processador em vez de apenas um. Esta é uma realidade para a qual o ecossistema de extensão tradicional simplesmente não foi construído, e é difícil imaginar fazê-lo funcionar sem muitas camadas de abstração que inevitavelmente desacelerariam as coisas. Muitas mudanças futuras no Firefox foram paralisadas por add-ons legados, o que significa que o ecossistema teve que mudar para que o Firefox evoluísse.

Recomendado:  Como trazer de volta os diálogos de advertência do Photoshop

Compatibilidade entre plataformas era um problema

Era uma vez, add-ons davam às pessoas uma razão convincente para usar o Firefox em vez do Chrome. Hoje em dia, o Chrome é de longe o líder em termos de add-ons, enquanto o Firefox pode parecer um cemitério de extensões não mantidas de anos atrás.

Claro, existem algumas extensões do Firefox que você não pode obter no Chrome, mas o Chrome tem o ecossistema maior de longe. A nova API WebExtensions não corrigirá isso da noite para o dia, mas torna muito mais fácil para as extensões do Chrome serem portadas para o Firefox, porque a linguagem usada para escrever extensões é semelhante o suficiente para tornar a portabilidade superficial. Em muitos casos, apenas alguns ajustes são necessários para que uma extensão do Chrome seja executada no Firefox, o que significa que não há motivo para suas extensões favoritas do Chrome não virem para o Firefox agora, se você pedir ao desenvolvedor de maneira gentil. Isso deve levar a uma enxurrada de novas extensões em um ecossistema que francamente poderia usá-lo.

O Firefox já estava perdendo usuários

Alguns podem argumentar que o Firefox vai perder usuários por causa de extensões quebradas, mas vale a pena notar que o Firefox já estava perdendo usuários para o Chrome em uma taxa alarmante, e isso tem acontecido há anos. A velocidade comparativa e a falta de certos complementos não estavam ajudando nesse aspecto, e o Firefox Quantum pretende consertar esses dois problemas.

Existe uma chance de que o tiro saia pela culatra? Certo. Algumas pessoas vão pular para o Chrome, e outras podem procurar bifurcações antigas que mantêm o antigo ecossistema de extensão. Mas não é como se as coisas estivessem indo bem antes. O Firefox precisava evoluir para se manter relevante, e foi assim que decidiram fazê-lo.

Recomendado:  Como bloquear tweets com mais de 140 caracteres (se você realmente precisar)

Os desenvolvedores tiveram tempo de mudar para a nova API

Alguns usuários nem perceberão que essa mudança aconteceu, porque as extensões com as quais trabalham já usam a API WebExtension. Outras extensões não foram trocadas.

Isso pode ocorrer porque o desenvolvedor abandonou a extensão há muito tempo ou não quer reescrevê-la para usar a API. Em alguns casos, a API não oferece controle suficiente para recriar a extensão original, então os desenvolvedores estão abandonando seus projetos. E em muitos casos, a conversão simplesmente ainda não foi feita.

Seja qual for o caso, as extensões não estão quebrando porque a Mozilla mudou algo de repente. O WebExtensions faz parte do Firefox há dois anos e o prazo para atualizar as extensões foi anunciado há um ano :

No final de 2017, e com o lançamento do Firefox 57, passaremos exclusivamente para WebExtensions e deixaremos de carregar qualquer outro tipo de extensão no desktop.

Ainda está faltando uma extensão da qual você depende? Este documento do Google está rastreando várias extensões populares e fornece alternativas para várias outras comuns. Esta lista também é útil .