Saiba como o Chrome remove recursos que não funcionam bem, minimizando a interrupção para usuários finais e desenvolvedores.
O Chrome está sempre adicionando novos recursos e funcionalidades, mas às vezes é necessário remover alguns.
A remoção de recursos pode reduzir a complexidade da base de código do navegador e ajudar a manter os navegadores seguros, reduzindo possíveis vetores de ataque. Uma abordagem cuidadosamente coordenada em toda a plataforma da Web garante que os fornecedores de navegadores possam remover recursos da plataforma que não funcionam bem, minimizando a interrupção para usuários finais e desenvolvedores.
Remoção de recursos do navegador
Se os navegadores removessem recursos sem aviso prévio, isso faria com que os sites quebrassem e dificultaria o planejamento da migração para tecnologias alternativas pelos desenvolvedores. Em vez disso, os fornecedores de navegadores adotam uma abordagem sistemática, oferecendo avisos, recursos de suporte e cronogramas detalhados com bastante antecedência da remoção do recurso.
Descontinuação e remoção
Há duas fases principais para remover um recurso do Chrome:
- Descontinuação:avise os desenvolvedores que um recurso será removido e forneça recursos para ajudar os sites a migrar para alternativas. Os avisos são mostrados no painel "Problemas" do Chrome DevTools quando recursos descontinuados são usados. Além disso, informações sobre cronogramas e suporte da descontinuação são publicadas no Status da plataforma do Chrome e em artigos e postagens do blog Chrome para desenvolvedores.
- Remoção: inicialmente, desative o recurso por padrão, mas permita que os desenvolvedores continuem usando o recurso temporariamente definindo uma flag do Chrome ou participando de um teste de descontinuação. Quando os sites não dependerem mais do recurso desativado, remova o código.
Intenções de piscar
Navegadores da Web baseados no Chromium, como o Chrome, usam o mecanismo de renderização Blink para transformar código e recursos em páginas da Web que você pode acessar e interagir. Quando os engenheiros querem fazer uma mudança no Blink, eles postam na lista de e-mails blink-dev para receber aprovação e continuar. Essas postagens de lista de e-mails são chamadas de Blink Intents.
Quando os engenheiros pretendem descontinuar e remover um recurso do Blink, eles postam uma intenção de descontinuação na lista de e-mails blink-dev, seguida por uma intenção de remoção. As duas intents geralmente são combinadas como uma Intent to Deprecate and Remove.
Intenção de descontinuar
Uma intenção de descontinuação é postada por engenheiros do Blink quando eles querem começar a alertar os desenvolvedores de que um recurso do navegador será removido. Nesse momento, o recurso vai continuar disponível, mas os desenvolvedores vão receber suporte e informações do Chrome DevTools, além de postagens do blog, em chromestatus.com e na documentação de recursos na MDN e em outros lugares.
Exemplo: Intenção de descontinuação: eventos de mutação
Intenção de remoção
Uma intenção de remoção é postada quando os engenheiros do Blink pretendem desativar um recurso e remover o código dele. Uma intenção de remoção geralmente é combinada com uma intenção de descontinuação, como uma intenção de descontinuação e remoção.
Exemplo: Intenção de descontinuar e remover: Web SQL
Minimizar a interrupção para usuários e desenvolvedores
O Chrome evita remover recursos sempre que possível.
Os engenheiros do Chrome sempre analisam as taxas de uso de recursos e outros dados antes de proceder com descontinuações. Um recurso só será removido se, por exemplo, ele for usado por uma proporção muito pequena de usuários e houver alternativas melhores disponíveis ou se as mudanças no ecossistema significarem que o recurso pode apresentar vulnerabilidades de segurança graves. Um recurso geralmente não é removido do Chrome se outros navegadores planejam continuar oferecendo suporte a ele. A remoção de recursos precisa ser coordenada entre os mecanismos de navegador.
Além das postagens de intenção na lista de e-mails blink-dev, as descontinuações são anunciadas no blog para desenvolvedores do Chrome. Avisos e informações de suporte também são fornecidos no Chrome DevTools e na documentação de recursos. Os cronogramas também são publicados na entrada chromestatus.com de um recurso descontinuado.
Reativar temporariamente um recurso descontinuado
Os testes de descontinuação são um tipo de teste de origem que permite que um recurso que foi alterado ou desativado por padrão antes da remoção seja reativado temporariamente. Por exemplo, os eventos de mutação foram removidos a partir do Chrome 127. Os sites que precisavam de mais tempo antes de remover esses eventos podiam se inscrever no teste de descontinuação para reativar os eventos temporariamente em sites específicos, mais tempo para migrar para funcionalidades alternativas.
Para alguns recursos descontinuados, uma flag do Chrome é disponibilizada para oferecer acesso temporário a um usuário individual, como desenvolvedores que trabalham na migração para alternativas.
Entre em ação
Como desenvolvedor, você precisa estar pronto para mudanças na plataforma da Web.
Você pode conferir as notas de lançamento de cada nova versão de cada navegador, mas também é recomendável usar canais de navegador pré-estáveis para testar e adaptar seus sites para que eles estejam prontos para as próximas mudanças, incluindo remoções. No mínimo, garanta que sua equipe de desenvolvimento use o canal Dev do Chrome e o Chrome Stable para acessar os sites em que trabalha. Como desenvolvedor, você pode executar vários canais simultaneamente. Assim, você pode testar com versões futuras do Chrome e conferir seu site no Chrome Stable, que provavelmente é o canal usado pela maioria dos seus usuários.
Verifique regularmente o console do Chrome DevTools para ver avisos de descontinuação. O DevTools fornece informações e links para recursos que ajudam você a migrar de recursos descontinuados. Também é recomendável usar vários canais do Chrome para testes automatizados e manuais.