O Chrome 85 está começando a ser lançado na versão estável agora.
Veja o que é necessário saber:
- É possível melhorar o desempenho da renderização com
content-visibility: auto
. - As propriedades CSS agora podem ser definidas no CSS.
- Agora você pode verificar se o app ou PWA do Windows está instalado com
getInstalledRelatedApps()
. - Os atalhos de ícones de apps também funcionam no Windows (apenas no momento).
- Um teste de origem para o streaming de upload do
fetch
foi iniciado. - e muito mais.
Sou Pete LePage, trabalhando e gravando em casa. Vamos nos aprofundar e ver as novidades para os desenvolvedores no Chrome 85.
Visibilidade do conteúdo
Para transformar seu HTML em algo que o usuário pode ver, o navegador precisa passar por várias etapas antes de pintar o primeiro pixel. Isso é feito em toda a página, mesmo no conteúdo que não aparece na janela de visualização.
A aplicação de content-visibility: auto
a um elemento informa ao navegador que ele
pode pular o trabalho de renderização desse elemento até rolar para a
janela de visualização, proporcionando uma renderização inicial mais rápida.
.my-class {
content-visibility: auto;
}
Para ter o maior impacto do content-visibility
, aplique-o a seções
pais com algoritmos de layout mais complexos, como flexbox
e grid
, ou
que tenham filhos com layouts contidos.
Ao dividir o conteúdo e adicionar content-visibility: auto;
, essa página passou
de um tempo de renderização de 232 ms para apenas 30 ms.
Confira a visibilidade do conteúdo para ver como você pode usá-la para melhorar o desempenho da renderização.
@property
e variáveis CSS
As variáveis CSS, tecnicamente chamadas de propriedades personalizadas, são incríveis. Com a API Hudini CSS Properties and Values, é possível definir um tipo e um valor substituto padrão para suas propriedades personalizadas. Abordamos esses conceitos no Novidades no Chrome 78, quando adicionamos suporte para defini-los no JavaScript.
A partir do Chrome 85, também é possível definir e configurar propriedades CSS diretamente no seu CSS. O que eu adoro nas propriedades do CSS é que elas dão à propriedade significado semântico, valores substitutos e até mesmo permitem testes de CSS.
@property --colorPrimary {
syntax: '<color>';
initial-value: magenta;
inherits: false;
}
Una tem uma ótima postagem
@property
: como dar superpoderes às variáveis CSS,
que mostra como usá-las.
Instalar apps relacionados
A API getInstalledRelatedApps()
permite que você verifique se
seu app está instalado e, em seguida, personalize a experiência do usuário.
Por exemplo, mostre para o usuário um conteúdo diferente em uma página de destino se o app já estiver instalado. Centralize a sobreposição de funcionalidades em um app para evitar confusão. Ou, se o app nativo já estiver instalado, não promova a instalação do PWA.
Quando foi lançado no Chrome 80, ele só funcionava para apps Android. Agora, no Android, ele também pode verificar se o PWA está instalado. E no Windows, ele pode verificar se o app UWP do Windows está instalado.
const relatedApps = await navigator.getInstalledRelatedApps();
relatedApps.forEach((app) => {
console.log(app.id, app.platform, app.url);
});
Confira meu artigo
Seu app está instalado? O getInstalledRelatedApps()
vai contar a você
no web.dev para saber como funciona e como assinar seus apps para provar que eles
são seus.
Atalhos do ícone do app
No Chrome 84, adicionamos suporte a atalhos de ícones de apps. Eu disse acidentalmente que eles estavam disponíveis em todos os lugares, mas só no Android. Agora, no Chrome 85, elas estão disponíveis no Android, Windows e no Chrome e no Edge.
"shortcuts": [
{
"name": "Open Play Later",
"short_name": "Play Later",
"description": "View the list you saved for later",
"url": "/play-later",
"icons": [
{ "src": "//play-later.png", "sizes": "192x192" }
]
}
]
Confira o artigo Atalhos de ícones do app em web.dev para ver todos os detalhes. Lamento a confusão que eu causei.
Teste de origem: solicitações de streaming com fetch()
A partir do Chrome 85, o streaming de upload do fetch
está disponível como um teste
de origem. Ele permite que você inicie uma busca antes que o corpo da solicitação esteja pronto. Antes,
só era possível iniciar uma solicitação quando o corpo todo estava pronto, mas
agora você pode começar a enviar conteúdo mesmo enquanto ainda o estiver gerando.
const { readable, writable } = new TransformStream();
const responsePromise = fetch(url, {
method: 'POST',
body: readable,
});
Por exemplo, use-a para aquecer o servidor ou faça streaming de áudio ou vídeo capturado do microfone ou da câmera.
Jake analisou em Solicitações de streaming com a API Busca em web.dev e também abordou isso no vídeo mais recente HTTP203 - Solicitações de streaming com busca.
E mais
Claro, há muito mais.
Promise.any
retorna uma promessa que é atendida pela primeira promessa a ser cumprida ou rejeitada.
try {
const first = await Promise.any(arrayOfPromises);
console.log(first);
} catch (error) {
console.log(error.errors);
}
É mais fácil substituir todas as instâncias em uma string com .replaceAll()
, sem mais
expressões regulares.
const myName = 'My name is Bond, James Bond.'
.replaceAll('Bond', 'Powers')
.replace('James', 'Austin');
console.log(myName);
// My name is Powers, Austin Powers.
O Chrome 85 adiciona suporte à decodificação para AVIF, um formato de imagem codificado com AV1 e padronizado pela Alliance for Open Media. O AVIF oferece ganhos de compactação significativos em comparação com JPEG e WebP, com um estudo recente da Netflix mostrando 50% de economia em comparação com o JPEG padrão e mais de 60% de economia em conteúdo 4:4:4.
E a remoção do AppCache começou.
Leia mais
Isso abrange apenas alguns dos principais destaques. Acesse os links abaixo para ver outras mudanças no Chrome 85.
- Novidades no Chrome DevTools (85)
- Suspensões de uso e remoções do Chrome 85
- Atualizações do ChromeStatus.com para o Chrome 85
- Novidades em JavaScript no Chrome 85
- Lista de alterações do repositório de origem do Chromium
Inscrever-se
Para ficar por dentro dos nossos vídeos, inscreva-se no canal de desenvolvedores do Chrome no YouTube. Você vai receber uma notificação por e-mail sempre que lançarmos um novo vídeo.
Eu sou Pete LePage e finalmente cortei o cabelo.
Assim que o Chrome 86 for lançado, estarei aqui para contar as novidades do Chrome.