Novidades do Chrome 67

  • Os Progressive Web Apps estão chegando para computadores
  • A API de sensor genérica facilita o acesso a sensores do dispositivo, como o acelerômetro, o giroscópio e muito mais.
  • E os BigInts facilitam muito o trabalho com números inteiros grandes.

E tem muito mais!

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

Quer a lista completa de mudanças? Confira a lista de mudanças do repositório de origem do Chromium.

PWAs para computador

Progressive Web App para computador do Spotify

Os Progressive Web Apps para computador desktop agora têm suporte no ChromeOS 67, e já começamos a trabalhar no suporte para Mac e Windows. Depois de instalados, eles são iniciados da mesma forma que outros apps e executados em uma janela de app, sem uma barra de endereço ou guias. Os Service Workers garantem que eles sejam rápidos e confiáveis, e a experiência da janela do app faz com que eles se sintam integrados. E eles criam uma experiência envolvente para os usuários.

Começar a usar o Google Analytics não é diferente do que você já faz hoje. Todo o trabalho que você fez para o App Web Progressivo ainda se aplica. Basta considerar alguns pontos de interrupção adicionais.

Se o app atender aos critérios padrão de PWA, o Chrome vai disparar o evento beforeinstallprompt, mas não vai solicitar automaticamente ao usuário. Em vez disso, salve o evento. Em seguida, adicione uma interface, como um botão de instalação, para informar ao usuário que o app pode ser instalado. Em seguida, quando o usuário clicar no botão, chame o prompt no evento salvo. O Chrome vai mostrar o prompt para o usuário. Se o usuário clicar em "Adicionar", o Chrome vai adicionar seu PWA à prateleira e ao iniciador.

Confira minha palestra no Google I/O, em que Jenny e eu falamos sobre as considerações técnicas e especiais de design que você precisa considerar ao criar um app da Web progressivo para computador.

Se você quiser começar a usar isso no Mac ou no Windows, confira a postagem completa sobre o Progressive Web App para computador para saber como ativar o suporte com uma flag.

API Sensor genérica

Os dados do sensor são usados em muitos apps para permitir experiências como jogos imersivos, monitoramento de condicionamento físico e realidade aumentada ou virtual. Esses dados agora estão disponíveis para o app da Web usando a API Sensor genérico.

A API consiste em uma interface de sensor base com um conjunto de classes de sensor concretas criadas em cima. Ter uma interface de base simplifica a implementação e o processo de especificação das classes de sensores concretas. Por exemplo, a classe Gyroscope é superpequena.

const sensor = new Gyroscope({frequency: 500});
sensor.start();

sensor.onreading = () => {
    console.log("X-axis " + sensor.x);
    console.log("Y-axis " + sensor.y);
    console.log("Z-axis " + sensor.z);
};

A funcionalidade principal é especificada pela interface de base, e o giroscópio apenas a estende com três atributos que representam a velocidade angular. O Chrome 67 oferece suporte a acelerômetro, giroscópio, sensor de orientação e sensor de movimento.

A Intel reuniu várias demonstrações da API de sensores genéricos e do código de exemplo. Ela também atualizou a postagem de setembro Sensores para a Web! com tudo o que você precisa saber.

BigInts

Os BigInts são uma nova primitiva numérica no JavaScript que pode representar números inteiros com precisão arbitrária. IDs de números inteiros grandes e carimbos de data/hora de alta precisão não podem ser representados com segurança como Numbers em JavaScript, o que geralmente leva a bugs reais, porque geralmente acabamos representando esses números como strings.

let max = Number.MAX_SAFE_INTEGER;
// → 9_007_199_254_740_991
max = max + 1;
// → 9_007_199_254_740_992 - Yay!
max = max + 1;
// → 9_007_199_254_740_992 - Uh, no?

Com BigInts, podemos armazenar e realizar aritmética de números inteiros com segurança sem transbordamento. Hoje, lidar com números inteiros grandes geralmente significa recorrer a uma biblioteca que emula a funcionalidade semelhante a BigInt.

let max = BigInt(Number.MAX_SAFE_INTEGER);
// → 9_007_199_254_740_991n
max = max + 9n;
// → 9_007_199_254_741_000n - Yay!

Quando o BigInt estiver disponível para todos, poderemos remover essas dependências de execução em favor do BigInts nativo. A implementação nativa é mais rápida e ajuda a reduzir o tempo de carregamento, análise e compilação, porque não precisamos carregar essas bibliotecas extras.

E muito mais.

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

A API Credential Management oferece suporte desde o Chrome 51 e fornece uma estrutura para criar, extrair e armazenar credenciais. Isso foi feito com dois tipos de credencial: PasswordCredential e FederatedCredential. A API Web Authentication adiciona um terceiro tipo de credencial, PublicKeyCredential, que permite que os navegadores autentiquem um usuário com um par de chaves privadas/públicas gerado por um autenticador, como uma chave de segurança, leitor de impressão digital ou qualquer outro dispositivo que possa autenticar um usuário. O Chrome 67 ativa a API usando autenticadores U2F/CTAP 1 por transporte USB no computador.

Saiba mais sobre isso na postagem Ativar a autenticação forte com o WebAuthn de Eiji.

O Google I/O acabou

Se você não conseguiu ir ao I/O ou não assistiu a todas as palestras na Web, confira a playlist do Chrome e da Web para ficar por dentro das novidades do Google I/O.

Novidades no DevTools

Confira as Novidades do Chrome DevTools para saber o que há de novo no Chrome DevTools 67.

Inscrever-se

Depois, clique no botão inscrever-se no nosso canal do YouTube. Você vai receber uma notificação por e-mail sempre que lançarmos um novo vídeo.

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