13Sep

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

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á excelentes recursos novos para inicializar. Não há muito a queixar-se aqui.

Apenas brincando. Na internet, sempre há algo a que se queixar.

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

Isso é frustrante se você é um usuário de um desses serviços, e você pode achar que é um pouco arbitrário. Não é.Goste ou não, a Mozilla sentiu que não tinha escolha senão abandonar o que ele chama de "legacy" add-ons para avançar. Aqui está o porquê.

Como as extensões legadas do Firefox funcionaram

As extensões tradicionais do Firefox foram geralmente escritas em XML User Interface Language( XUL).Este é o idioma em que a interface do usuário do Firefox é construída e as extensões baseadas em XUL podem modificar essa interface diretamente. Esses complementos também tiveram acesso completo ao XPCOM, o poderoso modelo de objeto componente usado pelo Firefox.

Se isso passou por sua cabeça, basta saber disso: as extensões do Firefox tinham uma capacidade total mais ou menor de mudar seu navegador e eles fizeram essas mudanças diretamente.É por isso que essas extensões eram tão poderosas: não havia um conjunto prescrito de coisas que pudessem e não pudessem mudar.É também por isso que essas extensões tendem a romper com novas versões do Firefox. Extensões

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

Extensões Tradicionais Made Improving Firefox Difícil

O Firefox Quantam não é a primeira atualização para quebrar uma extensão: este tem sido um problema constante por anos. Como as extensões do Firefox podem afetar o Firefox de forma tão direta, foi possível até pequenas mudanças no próprio Firefox para quebrar completamente os complementos, ou apenas introduzir erros de desempenho. Os usuários do Firefox

, sem saber que as extensões estavam causando o problema, assumiriam que a nova versão do Firefox é buggy e, da sua perspectiva, era. A equipe do Firefox faria o possível para garantir que as extensões populares estivessem funcionando antes de empurrar uma nova versão, mas é fácil imaginar tudo isso abrandando o desenvolvimento.

A API WebExtensions torna tudo isso mais fácil especificando especificamente o que as extensões podem fazer e como elas podem ser feitas. Isso significa que os desenvolvedores só precisam garantir que a API esteja funcionando corretamente e não se preocupe de que um ajuste de desempenho ou alteração de UI quebrará extensões particulares. O resultado deve ser menos invasão a 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 de Quantam. A capacidade de processo múltiplo, por exemplo, é uma grande parte do aumento de velocidade do Firefox Quantam. Quatro processos separados lidam com a interface e 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 em que 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 diminuirão as coisas. Muitas mudanças futuras no Firefox foram, de forma semelhante, retida por complementos legados, o que significa que o ecossistema teve que mudar para que o Firefox evoluísse.

Compatibilidade de plataforma cruzada era um problema

Era uma vez, os complementos deram às pessoas uma razão convincente para usar o Firefox no Chrome. Atualmente, o Chrome é de longe o líder em termos de complementos, enquanto o Firefox pode se sentir como um cemitério de extensões não mantidas de anos passados.

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 do WebExtensions não irá consertar isso durante a noite, mas torna muito mais fácil para as extensões do Chrome serem portadas para o Firefox porque o idioma usado para escrever extensões é semelhante o suficiente para tornar o portar 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 que suas extensões favoritas do Chrome não possam vir para o Firefox agora se você pedir ao desenvolvedor bem o suficiente. Isso deve levar a uma inundação de novas extensões em um ecossistema que poderia usá-lo francamente.

O Firefox já estava perdendo usuários

Alguns podem argumentar que o Firefox 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 tem sido há anos. A velocidade comparativa e a falta de determinados complementos não ajudaram nessa frente e o Firefox Quantum pretende corrigir esses dois problemas.

Existe uma chance de isso se voltar? Certo. Algumas pessoas vão pulando para o Chrome, e outros podem procurar garfos antigos que mantenham 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 é assim que eles decidiram fazê-lo.

Os desenvolvedores tiveram tempo para mudar para a nova API

Alguns usuários não perceberão que essa opção aconteceu mesmo, porque as extensões com as quais elas funcionam já utilizam a API WebExtension. Outras extensões não mudaram.

Isso pode ser porque o desenvolvedor abandonou a extensão há muito tempo, ou não gosta de reescrevê-la para usar a API.Em alguns casos, a API não oferece controle suficiente para recriar a extensão original, de modo que os desenvolvedores estão abandonando seus projetos. E, em muitos casos, a conversão simplesmente não foi concluída ainda.

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 a atualização de extensões foi anunciado há um ano atrás:

Até o final de 2017 e com o lançamento do Firefox 57, passaremos para o WebExtensions exclusivamente e deixaremos de carregar qualqueroutros tipos de extensão na área de trabalho.

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