- 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
BigInt
s 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 alterações? Confira a lista de mudanças do repositório de origem do Chromium.
PWAs para computador
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 de PWA padrão, o Chrome
disparará o evento beforeinstallprompt
, mas não solicitará automaticamente o usuário. Em vez disso, salve o evento
e adicione uma interface, como um botão "Instalar app", para informar ao usuário
que ele pode ser instalado. Em seguida, quando o usuário clicar no botão, chame a solicitação de chamada no evento salvo. O Chrome mostrará a solicitação ao 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 (link em inglês), em que Jenny e eu entramos em detalhes sobre as considerações técnicas e especiais de design que você precisa considerar ao criar um App Web Progressivo para computadores.
Se você quiser começar a usar esse recurso no Mac ou Windows, confira a postagem completa do Progressive Web App para computador para detalhes sobre como ativar a compatibilidade 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 apps da Web usando a API Generic Sensor.
A API consiste em uma interface de sensor base com um conjunto de classes de sensor concretas criadas em cima. Ter uma interface básica simplifica o processo de implementação e especificação das classes concretas do sensor. 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.
BigInt
s
BigInt
s são um novo primitivo numérico em 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 BigInt
s,
podemos armazenar e executar aritmética de números inteiros com segurança sem estourar. 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, de análise e de 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 privada/pública gerado por um autenticador, como
uma chave de segurança, um 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.