Novidades do Chrome 72

No Chrome 72, adicionamos suporte para:

E tem muito mais.

Meu nome é Pete LePage. Vamos nos aprofundar e ver as novidades para desenvolvedores do Chrome 72.

Registro de alterações

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

Campos de classe pública

Minha primeira linguagem foi Java, e aprender JavaScript me deixou um pouco confuso. Como faço para criar uma turma? Ou herança? E as propriedades e métodos públicos e privados? Muitas das atualizações recentes do JavaScript que facilitam a programação orientada a objetos.

Agora posso criar classes que funcionam como eu espero, com construtores, getters e setters, métodos estáticos e propriedades públicas.

Graças ao V8 7.2, que vem com o Chrome 72, agora é possível declarar campos de classe pública diretamente na definição da classe, eliminando a necessidade de fazer isso no construtor.

class Counter {
  _value = 0;
  get value() {
    return this._value;
  }
  increment() {
    this._value++;
  }
}

const counter = new Counter();
console.log(counter.value);
// → 0
counter.increment();
console.log(counter.value);
// → 1

O suporte para campos de classe particulares está em desenvolvimento.

Confira mais detalhes no artigo de Mathias sobre campos de classe.

API User Activation

Lembra quando os sites podiam tocar sons automaticamente assim que a página carregava? Você se apressa para pressionar a tecla de silenciar ou descobre qual guia era e a fecha. É por isso que algumas APIs exigem ativação por meio de um gesto do usuário antes de funcionar. Infelizmente, os navegadores processam a ativação de maneiras diferentes.

API User Activation antes e depois que o usuário interage com a página.

O Chrome 72 apresenta a Ativação do usuário v2, que simplifica a ativação do usuário para todas as APIs restritas. Ele é baseado em uma nova especificação (em inglês) que busca padronizar o funcionamento da ativação em todos os navegadores.

Há uma nova propriedade userActivation em navigator e MessageEvent, que tem duas propriedades: hasBeenActive e isActive:

  • hasBeenActive indica se a janela associada já viu uma ativação do usuário no ciclo de vida.
  • isActive indica se a janela associada tem uma ativação do usuário no momento.

Mais detalhes estão em Como tornar a ativação do usuário consistente em todas as APIs.

Como localizar listas de itens com Intl.format

Adoro as APIs Intl. Elas são muito úteis para localizar conteúdo em outros idiomas. No Chrome 72, há um novo método .format() que facilita a renderização de listas. Como outras APIs Intl, ela transfere a carga para o motor JavaScript, sem sacrificar a performance.

Inicie com a localidade desejada e chame format. Ele vai usar as palavras e a sintaxe corretas. Ela pode fazer conjunções, o que adiciona o equivalente localizado de and, e veja essas belas vírgulas oxford. Ela pode fazer disjunções, adicionando o equivalente local de or e, ao fornecer algumas opções adicionais, é possível fazer ainda mais.

const opts = {type: 'disjunction'};
const lf = new Intl.ListFormat('fr', opts);
lf.format(['chien', 'chat', 'oiseau']);
// → 'chien, chat ou oiseau'
lf.format(['chien', 'chat', 'oiseau', 'lapin']);
// → 'chien, chat, oiseau ou lapin'

Confira a postagem API Intl.ListFormat para mais detalhes.

E muito mais.

Estas são apenas algumas das mudanças no Chrome 72 para desenvolvedores. Há muitas outras.

  • O Chrome 72 muda o comportamento de Cache.addAll() para corresponder melhor à especificação. Anteriormente, se houvesse entradas duplicadas na mesma chamada, as solicitações posteriores simplesmente substituiriam a primeira. Para corresponder à especificação, se houver entradas duplicadas, ocorrerá uma rejeição com um InvalidStateError.
  • As solicitações de favicons agora são processadas pelo service worker, desde que o URL da solicitação esteja na mesma origem que o service worker.

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 73 for lançado, vou estar aqui para contar as novidades do Chrome.