Novità di Chrome 67

  • Le app web progressive saranno disponibili su computer
  • L'API di sensori generici semplifica notevolmente l'accesso ai sensori del dispositivo, come l'accelerometro, il giroscopio e altri.
  • Inoltre, i BigInt semplificano notevolmente la gestione di numeri interi di grandi dimensioni.

E c'è molto altro.

Sono Pete LePage. Diamo un'occhiata alle novità per gli sviluppatori in Chrome 67.

Vuoi l'elenco completo delle modifiche? Consulta l'elenco delle modifiche al repository di origine di Chromium.

PWA per computer

L'app web progressiva di Spotify per computer

Le app web progressive per computer ora sono supportate su ChromeOS 67 e abbiamo già iniziato a lavorare al supporto per Mac e Windows. Una volta installate, vengono avviate come le altre app e vengono eseguite in una finestra dell'app, senza barra degli indirizzi o schede. I worker di servizio garantiscono velocità e affidabilità, mentre l'esperienza della finestra dell'app li fa sentire integrati. Inoltre, creano un'esperienza coinvolgente per gli utenti.

Per iniziare non devi fare nulla di diverso da quello che stai già facendo. Tutto il lavoro che hai svolto per la tua app web progressiva esistente è ancora valido, devi solo prendere in considerazione alcuni breakpoint aggiuntivi.

Se la tua app soddisfa i criteri PWA standard, Chrome attiverà l'evento beforeinstallprompt, ma non chiederà automaticamente all'utente. Salva invece l'evento, quindi aggiungi un'interfaccia utente, ad esempio un pulsante di installazione dell'app, per comunicare all'utente che può installare la tua app. Quando l'utente fa clic sul pulsante, chiama la richiesta sull'evento salvato. Chrome mostrerà quindi la richiesta all'utente. Se fanno clic su Aggiungi, Chrome aggiungerà la tua PWA alla sezione App e al programma di avvio.

Dai un'occhiata al mio intervento di Google I/O, in cui Jenny e io illustriamo nel dettaglio le considerazioni tecniche e di design speciale da tenere presenti durante la creazione di un'app web progressiva per computer.

Se vuoi iniziare a utilizzare questa funzionalità su Mac o Windows, consulta il post completo sulle app web progressive per computer per scoprire i dettagli su come attivare il supporto con un flag.

API Sensore generico

I dati dei sensori vengono utilizzati in molte app per consentire esperienze come giochi immersivi, monitoraggio dell'attività fisica e realtà virtuale o aumentata. Questi dati ora sono disponibili per le app web che utilizzano l'API Generic Sensor.

L'API è costituita da un'interfaccia Sensore di base con un insieme di classi di sensori specifici basate su questa interfaccia. Avere un'interfaccia di base semplifica il processo di implementazione e specifica per le classi di sensori concrete. Ad esempio, la classe Gyroscope è molto piccola.

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);
};

La funzionalità di base è specificata dall'interfaccia di base e il giroscopio la estende semplicemente con tre attributi che rappresentano la velocità angolare. Chrome 67 supporta l'accelerometro, il giroscopio, il sensore di orientamento e il sensore di movimento.

Intel ha messo insieme diversi demo dell'API generica per i sensori e codice di esempio, nonché aggiornato il post di settembre Sensori per il web con tutto ciò che devi sapere.

BigInt s

I BigInt sono un nuovo tipo numerico primitivo in JavaScript che può rappresentare interi con precisione arbitraria. Gli ID interi di grandi dimensioni e i timestamp di alta precisione non possono essere rappresentati in modo sicuro come Numbers in JavaScript, il che spesso porta a bug reali (per questo motivo spesso finiamo per rappresentare questi numeri come stringhe).

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?

Con gli BigInt, possiamo memorizzare ed eseguire in modo sicuro l'aritmetica degli interi senza overflow. Oggi, per gestire interi di grandi dimensioni in genere dobbiamo ricorrere a una libreria che emuli la funzionalità di 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 sarà disponibile a livello generale, potremo eliminare queste dipendenze di runtime in favore di BigInts nativo. L'implementazione nativa non è solo più rapida, ma consente anche di ridurre i tempi di caricamento, di analisi e di compilazione perché non dovremo caricare le librerie aggiuntive.

E tanto altro.

Queste sono solo alcune delle modifiche in Chrome 67 per gli sviluppatori, ma ce ne sono molte altre.

L'API Credential Management è supportata da Chrome 51 e fornisce un framework per creare, recuperare e memorizzare le credenziali. Lo ha fatto tramite due tipi di credenziali: PasswordCredential e FederatedCredential. L'API Web Authentication aggiunge un terzo tipo di credenziale, PublicKeyCredential, che consente ai browser di autenticare un utente con una coppia di chiavi private/pubbliche generata da un'app di autenticazione come una chiave di sicurezza, un lettore di impronte digitali o qualsiasi altro dispositivo in grado di autenticare un utente. Chrome 67 attiva l'API utilizzando gli autenticatori U2F/CTAP 1 tramite il trasporto USB su computer.

Scopri di più nel post di Eiji Abilitazione dell'autenticazione forte con WebAuthn.

Google I/O è terminato

Se non hai partecipato alla conferenza I/O o se ci sei stato, ma non hai visto tutti i talk sul web, dai un'occhiata alla playlist di Chrome e del web per non perderti le ultime novità di Google I/O.

Novità in DevTools

Consulta la pagina Novità di Chrome DevTools per scoprire le novità di DevTools in Chrome 67.

Iscriviti

Poi, fai clic sul pulsante Iscriviti sul nostro canale YouTube e riceverai una notifica via email ogni volta che lanceremo un nuovo video.

Sono Pete LePage e, non appena verrà rilasciato Chrome 68, sarò qui per raccontarti le novità di Chrome.