- Os Progressive Web Apps estão chegando ao computador
- A API de sensor genérico facilita o acesso a sensores do dispositivo, como o acelerômetro, o giroscópio e muitos outros.
- Além disso, os
BigInt
s facilitam o processamento com números inteiros grandes.
E tem muito mais!
Meu nome é Pete LePage. Vamos conhecer as novidades do Chrome 67 para os desenvolvedores!
Deseja a lista completa de alterações? Confira a lista de alterações de repositório de origem do Chromium.
PWAs para computador
Os Progressive Web Apps para computador 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 do app, sem uma barra de endereço ou guias. Os service workers garantem que eles sejam rápidos e confiáveis com a experiência da janela do app faz com que eles se sintam integrados. E criam uma experiência envolvente para os usuários.
Começar não é diferente do que você já faz hoje. Todo o trabalho feito no Progressive Web App atual ainda se aplica. Basta considerar alguns outros pontos de interrupção.
Se o app atender aos
critérios padrão do PWA, o Chrome
dispara o evento beforeinstallprompt
, mas não solicita o usuário automaticamente. Em vez disso, salve o evento e, em seguida, adicione ao seu app alguma IU, como um botão de instalação de app, para informar que ele pode ser instalado. Depois, quando o usuário clicar no botão, chame a solicitação no evento salvo. O Chrome mostrará a solicitação ao usuário. Se ele clicar em "Adicionar", o Chrome adicionará o PWA à estante e à tela de início.
Confira minha palestra do Google I/O, em que Jenny e eu falamos em detalhes sobre as considerações técnicas e especiais de design que você precisa considerar ao criar um Progressive Web App para computador.
Se você quiser começar a usar esse recurso no Mac ou Windows, confira a postagem completa do App Web Progressivo para Computador (link em inglês) para saber mais sobre como ativar a compatibilidade com uma flag.
API Generic Sensor
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 um app da Web que usa a API Generic Sensor.
A API consiste em uma interface Sensor básica com um conjunto de classes de sensor concretas criada com base. Ter uma interface básica simplifica o processo de implementação e especificação para classes de sensor concretas. Por exemplo, a classe do Giroscópio é super minúscula!
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 base, e o giroscópio somente a estende com três atributos que representam a velocidade angular. O Chrome 67 oferece suporte ao 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 um exemplo de código e também atualizou os Sensores para a Web! de setembro 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
no JavaScript, o que geralmente leva
a bugs reais. Por causa disso, 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 estouro. Atualmente,
lidar com números inteiros grandes geralmente significa que temos que recorrer a uma biblioteca
que emularia uma 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 BigInt
ficar amplamente disponível, poderemos descartar essas dependências de
tempo de execução em favor do BigInts
nativo. Além de a implementação nativa ser mais rápida, isso também 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.
Essas são apenas algumas das mudanças no Chrome 67 para desenvolvedores. É claro que há muito mais.
A
API Credential Management
tem suporte desde o Chrome 51 e fornece um framework para criar,
recuperar e armazenar credenciais. Ele fez isso usando 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 gerada 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
em computadores.
Saiba mais sobre isso na postagem Como ativar a autenticação forte com WebAuthn (em inglês) do Eiji.
O Google I/O chegou ao fim
Se você não foi ao I/O, ou talvez tenha assistido, mas não viu todas as palestras sobre a Web, confira a playlist do Chrome e da Web para ficar por dentro das novidades do Google I/O.
Novidades no DevTools
Consulte Novidades no Chrome DevTools para saber as novidades do Chrome 67.
Inscrever-se
Em seguida, clique no botão Inscrever-se em nosso canal do YouTube e você receberá uma notificação por e-mail sempre que lançarmos um novo vídeo.
Eu sou Pete LePage e, assim que o Chrome 68 for lançado, terei aqui para contar as novidades do Chrome.