Novidades do Chrome 75

No Chrome 75, adicionamos suporte para:

Meu nome é Pete LePage. Vamos conferir as novidades para desenvolvedores no Chrome 75.

Registro de alterações

Este artigo aborda apenas alguns dos principais destaques. Confira os links abaixo para ver outras mudanças no Chrome 75.

Dica para contextos canvas de baixa latência

Desenhar na tela com o elemento canvas exige que a página sincronize as atualizações gráficas com o DOM. Às vezes, essa sincronização pode causar latência. Por exemplo, em um app de desenho, latências maiores que 50 milissegundos podem interferir na coordenação entre os olhos e as mãos, dificultando o uso.

A sugestão desynchronized, ao criar um contexto canvas, usa um caminho de código diferente, que ignora o mecanismo de atualização DOM usual. A dica informa ao sistema para pular o máximo possível de composições. Em alguns casos, o buffer subjacente da canvas é enviado diretamente para o controlador de exibição da tela. Isso elimina a latência que seria causada pelo uso da fila do compositor do renderizador.

É simples usar a dica desincronizada. Basta adicionar desynchronized: true ao objeto de opções ao criar a tela.

const opts = { desynchronized: true };
const ctx = canvas.getContext('2d', opts);

Confira o artigo do Joe Renderização de baixa latência com a dica dessynchronizada para mais detalhes, incluindo como fazer a detecção de recursos.

Compartilhar arquivos com a API Web Share

A API Web Share permite conectar o serviço de compartilhamento fornecido pelo SO, facilitando o compartilhamento de páginas da Web e apps com outros apps instalados no dispositivo do usuário.

No Chrome 75, a API Web Share agora oferece suporte ao compartilhamento de arquivos. Estou particularmente empolgado com isso porque facilita muito o compartilhamento de fotos, vídeos e muito mais pelos apps. O Squoosh está adicionando suporte a isso para compartilhar um arquivo depois que você terminar de compactá-lo. Atualmente, a API Web Share é compatível com o compartilhamento de arquivos de áudio, imagens, vídeos e documentos de texto.

É melhor usar a detecção de recursos para saber se a API Web Share tem suporte e usar o mecanismo tradicional como fallback, se não tiver. E você pode usar navigator.canShare para verificar se o compartilhamento de arquivos é compatível.


const webShareAvailable = {
  links: 'share' in navigator,
  files: 'canShare' in navigator,
};

Se navigator.canShare retornar true, o compartilhamento desses arquivos será possível. Portanto, chame navigator.share e transmita um objeto com a matriz de arquivos que você quer compartilhar. O Chrome vai abrir a página de compartilhamento do sistema e mostrar uma lista de apps instalados com os quais você pode compartilhar os arquivos.

if (webShareAvailable.files) {
  const shareData = { files: filesArray };
  if (navigator.canShare(shareData)) {
    shareData.title = 'Squooshed files.';
    navigator.share(shareData)
      .then(...)
      .catch(...);
  } else {
    // File sharing not supported
  }
}

Teste a demonstração e confira o artigo Compartilhar arquivos com o recurso Compartilhar na Web para saber mais.

Separadores numéricos

Os literais numéricos agora permitem sublinhados (_, U+005F) como separadores para facilitar a leitura. Por exemplo, 1_000_000_000 será interpretado por operações matemáticas como equivalente a 1000000000.

Sublinhados só podem aparecer entre dígitos, e sublinhados consecutivos não são permitidos. Portanto, literais como 3._14, _2.71 ou 1.6__2 são ilegais.

O Google I/O 2019 acabou

Se você não conseguiu ir ao I/O ou não assistiu a todas as palestras, elas estão disponíveis no canal do YouTube do Chrome Developers, na playlist da Web no Google I/O 2019.

Inscrever-se

Para ficar por dentro dos nossos vídeos, inscreva-se no nosso canal Chrome Developers no YouTube. Você receberá uma notificação por e-mail sempre que lançarmos um novo vídeo.

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

Créditos da foto