Novità di Chrome 67

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

E c'è molto altro ancora.

Mi chiamo Pete LePage. Analizziamo le novità di Chrome 67 per gli sviluppatori.

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

PWA desktop

App web progressiva desktop di Spotify

Le app web progressive per computer sono ora supportate su ChromeOS 67 e abbiamo già iniziato a supportarlo per Mac e Windows. Una volta installate, vengono avviate allo stesso modo delle altre app e vengono eseguite in una finestra dell'app, senza schede o barra degli indirizzi. I Service worker assicurano che siano veloci e affidabili, grazie all'esperienza della finestra dell'app che li fa sentire integrati. E creano un'esperienza coinvolgente per gli utenti.

Iniziare non è diverso da quello che hai già fatto oggi. Tutto il lavoro fatto per la tua app web progressiva esistente è ancora valido, devi semplicemente considerare alcuni punti di interruzione aggiuntivi.

Se la tua app soddisfa i criteri PWA standard, Chrome attiverà l'evento beforeinstallprompt, ma non invierà automaticamente una richiesta all'utente. Salva l'evento e poi aggiungi alla tua app alcune UI, ad esempio un pulsante per l'installazione dell'app, per comunicare all'utente che la tua app può essere installata. Se l'utente fa clic sul pulsante, richiama una richiesta sull'evento salvato e Chrome mostra la richiesta all'utente. Se fanno clic su Aggiungi, Chrome aggiungerà la tua PWA alla barra delle app e in Avvio app.

Dai un'occhiata alla mia conferenza Google I/O in cui io e Jeenny analizziamo nel dettaglio le considerazioni tecniche e speciali riguardanti la progettazione di un'app web progressiva per computer desktop.

E se vuoi iniziare a giocare su Mac o Windows, leggi il post completo sulle app web progressive per desktop per dettagli su come attivare il supporto con un flag.

API Generic Sensor

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

L'API è composta da un'interfaccia Sensor di base con una serie di classi di sensori in cemento basate su di esso. Avere un'interfaccia di base semplifica il processo di implementazione e specifica per le classi di sensori per calcestruzzo. Ad esempio, la classe del giroscopio è minuscolo!

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 raccolto diverse demo dell'API dei sensori generici e del codice campione e ha anche aggiornato il post Sensors for the Web! a partire da settembre con tutto ciò che c'è da sapere.

BigInt s

I valori BigInt sono una nuova primitiva numerica in JavaScript che può rappresentare numeri interi con precisione arbitraria. Gli ID interi di grandi dimensioni e i timestamp ad alta precisione non possono essere rappresentati in modo sicuro come Numbers in JavaScript, il che spesso genera bug reali (per cui 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 BigInt, possiamo archiviare ed eseguire in modo sicuro l'aritmetica di numeri interi senza overflow. Oggi, per gestire i numeri interi di grandi dimensioni, è necessario ricorrere a una libreria in grado di emulare una funzionalità simile a quella 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 su larga scala, potremo eliminare queste dipendenze di runtime a favore dell'ambiente BigInts nativo. Non solo l'implementazione nativa è più veloce, ma consente anche di ridurre i tempi di caricamento, di analisi e di compilazione perché non dovremo caricare queste librerie aggiuntive.

E tanto altro.

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

L'API Credential Management è supportata a partire dalla versione 51 di Chrome e fornisce un framework per la creazione, il recupero e l'archiviazione delle credenziali. Per farlo, ha utilizzato due tipi di credenziali: PasswordCredential e FederatedCredential. L'API Web Authentication aggiunge un terzo tipo di credenziali, PublicKeyCredential, che consente ai browser di autenticare un utente con una coppia di chiavi privata/pubblica generata da un autenticatore, ad esempio un token di sicurezza, un lettore di impronte o qualsiasi altro dispositivo in grado di autenticare un utente. Chrome 67 consente l'API utilizzando gli autenticazione U2F/CTAP 1 tramite trasporto USB su computer.

Per saperne di più, consulta il post di Eiji Attivare l'autenticazione avanzata con WebAuthn.

La conferenza Google I/O è terminata

Se non sei arrivato all'I/O o forse l'hai fatto, ma non hai visto tutte le conversazioni sul web, dai un'occhiata alla playlist di Chrome e sul web per essere sempre al corrente delle ultime novità di Google I/O.

Novità in DevTools

Assicurati di dare un'occhiata alle 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 verrà lanciato un nuovo video.

Mi chiamo Pete LePage e, non appena uscirà Chrome 68, sarò qui per raccontarvi le novità di Chrome.