Novidades do Chrome 88

O Chrome 88 está começando a ser lançado para a versão estável.

Veja o que é necessário saber:

  • Agora é possível fazer upload de extensões usando o manifesto V3 para a Chrome Web Store.
  • A propriedade CSS aspect-ratio facilita a definição da proporção em qualquer elemento.
  • O Chrome 88 limita bastante os timers de JavaScript encadeados para páginas ocultas em condições específicas.
  • Agora você pode usar o Play Faturamento na sua Atividade confiável na Web.
  • Todos os vídeos do Chrome Dev Summit estão disponíveis.
  • E há muito mais.

Meu nome é Pete LePage, trabalho e filmo de casa. Vamos conferir as novidades para desenvolvedores no Chrome 88.

Manifesto V3

O Chrome 88 agora oferece suporte a extensões criadas com o Manifest V3, e você pode fazer upload delas para a Chrome Web Store. O Manifest V3 é uma nova plataforma de extensões que torna as extensões do Chrome mais seguras, com melhor desempenho e que respeitam a privacidade por padrão.

Por exemplo, ele não permite o código hospedado remotamente, o que ajuda os revisores da Chrome Web Store a entender melhor os riscos de uma extensão. E permitir que você atualize suas extensões mais rapidamente.

Ele introduz os service workers como substitutos das páginas em segundo plano. Como os service workers só ficam na memória quando necessário, as extensões usam menos recursos do sistema.

Para dar aos usuários mais visibilidade e controle sobre como as extensões usam e compartilham os dados, em uma versão futura vamos adotar um novo fluxo de instalação que permite que os usuários retenham permissões sensíveis no momento da instalação.

Acesse developer.chrome.com para conferir todos os detalhes e saber como migrar sua extensão atual para o Manifest V3.


Propriedade CSS aspect-ratio

Normalmente, apenas alguns elementos têm uma proporção, por exemplo, imagens. Para eles, se apenas a largura ou a altura for especificada, a outra será calculada automaticamente usando a proporção intrínseca.

<!-- Height is auto-computed from width & aspect ratio -->
<img src="..." style="width: 800px;">

No Chrome 88, a propriedade aspect-ratio permite especificar explicitamente uma proporção, ativando um comportamento semelhante.

.square {
  aspect-ratio: 1 / 1;
}

Você também pode usar o aprimoramento progressivo para verificar se ele tem suporte no navegador e aplicar um substituto, se necessário. Em seguida, com o novo seletor not do CSS 4, você pode deixar seu código um pouco mais limpo.

.square {
  aspect-ratio: 1 / 1;
}

@supports not (aspect-ratio: 1 / 1) {
  .square {
    height: 4rem;
    width: 4rem;
  }
}

Agradecemos a Jen Simmons por apontar que isso é compatível com a versão mais recente da prévia técnica do Safari. Então, isso deve aparecer no Safari em breve. Confira a demonstração de Una para conferir como funciona.

Limitação pesada de timers JS encadeados

O Chrome 88 vai limitar bastante os timers de JavaScript encadeados para páginas ocultas em condições específicas. Isso vai reduzir o uso da CPU, o que também vai reduzir o uso da bateria. Há alguns casos extremos em que isso vai mudar o comportamento, mas os timers são usados com frequência em que uma API diferente seria mais eficiente e confiável.

Isso foi muito pesado em termos técnicos e um pouco ambíguo. Confira o artigo de Jake Limitação pesada de timers JS encadeados a partir do Chrome 88 para saber todos os detalhes.

Play Faturamento em Atividade confiável na Web

Agora é possível usar o Google Play Faturamento na sua atividade confiável na Web para vender produtos e assinaturas digitais usando a nova API Digital Goods. Ele está disponível como um teste de origem no Chrome 88 para Android, e esperamos que ele seja expandido para o ChromeOS na próxima versão.

Depois de configurar suas contas, atualize a Atividade da Web confiável para ativar o Play Faturamento e crie seus produtos e softwares digitais no Play Console. Em seguida, adicione o token de teste de origem na PWA e você estará pronto para adicionar o código para verificar compras existentes, consultar compras disponíveis e fazer novas compras.

// Get list of potential digital goods

const itemService =
  await window.getDigitalGoodsService("https://play.google.com/billing");

const details =
  await itemService.getDetails(['ripe_bananas', 'walnuts', 'pecans' ]);

Adriana e André explicam mais detalhes na palestra do Chrome Dev Summit: Novidades para apps da Web no Google Play, ou confira os documentos.

E mais

E, claro, há muito mais.

  • Para se adequar a uma mudança no padrão HTML, as tags de âncora com target="_blank" agora implicam rel="noopener" por padrão, o que ajuda a evitar ataques de tab-napping.
  • A maioria dos sistemas operacionais ativa a aceleração do mouse por padrão, mas isso pode ser um problema para alguns jogos. No Chrome 88, a API Pointer Lock permite desativar a aceleração do mouse. Isso significa que o mesmo movimento físico, lento ou rápido, resulta na mesma rotação, proporcionando uma melhor experiência de jogo e maior precisão.
  • E addEventListener agora usa um sinal de interrupção como opção. Chamar abort() remove esse listener de eventos, facilitando o desligamento de listeners de eventos quando não for mais necessário.

Leitura adicional

Isso abrange apenas alguns dos principais destaques. Confira os links abaixo para ver outras mudanças no Chrome 88.

Inscrever-se

Se quiser ficar por dentro dos nossos vídeos, inscreva-se no canal do YouTube para desenvolvedores do Chrome e receba uma notificação por e-mail sempre que lançarmos um novo vídeo.

Meu nome é Pete LePage, e assim que o Chrome 89 for lançado, estarei aqui para contar as novidades do Chrome.