No Chrome 75, adicionamos suporte para:
- Há uma nova maneira de reduzir a latência em elementos
canvas
. - Agora, os apps da Web podem compartilhar arquivos com outros apps instalados usando a página de compartilhamento no nível do sistema.
- Os literais numéricos agora permitem sublinhados como separadores para facilitar a leitura.
- O Google I/O 2019 acabou, e todas as palestras estão no nosso canal do YouTube.
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.
- Novidades do Chrome DevTools (75)
- Descontinuações e remoções do Chrome 75
- Atualizações do ChromeStatus.com para o Chrome 75
- Novidades do JavaScript no Chrome 75
- Lista de alterações do repositório de origem do Chromium
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.
- Tom e eu apresentamos "Desbloqueando novos recursos para a Web", que aborda alguns dos novos recursos incríveis que estão chegando aos navegadores este ano.
- Addy e Katie abordaram algumas dicas e truques legais de performance em "Speed at Scale".
- Elizabeth e Paul mergulharam em algumas ferramentas legais em "Desmistificando ferramentas de velocidade" (link em inglês).
- E em "Criar apps da Web rápidos e suaves em smartphones e computadores", Mariko mostrou como ela e a equipe criaram o Proxx para funcionar em qualquer dispositivo, de feature phone a smartphone e computador. Se você ainda não experimentou o Proxx, ele é um clone super divertido do jogo de busca de minas.
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
- Foto de esboço de Balázs Kétyi do Unsplash (em inglês).