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 remover o ícone “Get Windows 10” da bandeja do sistema (e interromper as notificações de atualização)

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:  Windows 95 completa 25 anos: quando o Windows se tornou popular

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:  O Windows 10 agora pode sincronizar as notificações do Android com o seu PC

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 .