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

App Web progressivo para computador do Spotify

Os Progressive Web Apps para computador desktop agora são compatíveis com o 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 seu 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 comando no evento salvo. O Chrome vai mostrar o comando 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, é possível armazenar e realizar aritmética de números inteiros com segurança sem estouro. Hoje, lidar com números inteiros grandes normalmente 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 é compatível com o Chrome 51 e oferece um framework 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 no post 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.