Tieni presente quanto segue:
- La proprietà manifest
id
ti consente di specificare un ID univoco per la tua PWA. - La proprietà
protocol_handlers
ti consente di registrare automaticamente la tua PWA come gestore di protocollo al momento dell'installazione. - La prova dell'origine degli indicatori di priorità ti consente di specificare la priorità di recupero per il download delle risorse.
- Puoi forzare la versione di Chrome su 100 per testare la reazione del codice a un numero di versione di tre cifre.
- Tutti i video del Chrome Dev Summit sono online.
- E c'è molto altro.
Sono Pete LePage, finalmente sto girando in studio, vediamo subito le novità per gli sviluppatori in Chrome 96.
Manifest id
per le PWA
Quando un utente installa una PWA, il browser ha bisogno di un modo per identificarla in modo univoco.
Tuttavia, fino a poco tempo fa, la specifica del manifest dell'app web non specificava come identificare
una PWA, lasciando la decisione ai browser e portando a implementazioni diverse.
In alcuni browser viene utilizzato start_url
, mentre in altri viene utilizzato il percorso del file manifest.
Ciò rende impossibile modificare uno di questi campi senza interrompere l'esperienza di installazione. Ora è disponibile una nuova proprietà facoltativa id
che consente di definire esplicitamente l'identificatore utilizzato per la PWA.
L'aggiunta della proprietà id
al manifest rimuove la dipendenza da start_url
o dalla posizione del manifest e consente l'aggiornamento di questi campi.
{
...
id: "/?homescreen=1",
start_url: "/?homescreen=1",
...
}
Il supporto della proprietà id
sarà disponibile nei browser desktop basati su Chromium
a partire da Chrome 96. Il supporto per il mobile, che attualmente utilizza l'URL manifest come ID univoco, dovrebbe essere disponibile nella prima metà del 2022.
Se hai già una PWA in produzione e vuoi aggiungere un id
al tuo manifest, devi utilizzare l'ID assegnato dal browser. Puoi trovare id
nel riquadro Manifest del riquadro Applicazione in Strumenti per gli sviluppatori.
Per una nuova PWA, puoi impostare id
su qualsiasi valore di stringa, ma ricorda che non potrai modificarlo in futuro, quindi scegli con attenzione.
{
...
id: "SquooshApp",
start_url: "/?homescreen=1",
...
}
Per ulteriori informazioni, consulta Identificare in modo univoco le PWA con la proprietà ID manifest dell'app web.
Gestori di protocollo URL per le PWA
Le app web possono utilizzare navigator.registerProtocolHandler()
per registrarsi come gestori di protocollo. Ad esempio, Gmail può registrare il protocollo mailto
. Quando un utente fa clic su un link con il prefisso mailto:
, si aprirà Gmail, consentendo all'utente di inviare facilmente un'email.
A partire da Chrome 96, una PWA può registrarsi come gestore di protocollo nell'ambito della sua installazione. Per farlo per la tua PWA, aggiungi una proprietà protocol_handlers
al manifest della tua app web, specifica il protocol
che vuoi gestire e il url
che deve essere aperto quando viene fatto clic.
...
"protocol_handlers": [
{
"protocol": "web+tea",
"url": "/tea?type=%s"
},
{
"protocol": "web+coffee",
"url": "/coffee?type=%s"
}
]
}
Esistono alcune limitazioni e non puoi registrare un protocollo qualsiasi, quindi consulta la pagina Registrazione del gestore di protocollo URL per le PWA per informazioni dettagliate e su come utilizzare la sintassi web+
per creare i tuoi protocolli.
Suggerimenti sulla priorità (prova dell'origine)
Quando un browser analizza una pagina web e inizia a scoprire e scaricare risorse come immagini, script o CSS, assegna loro una priorità di recupero per provare a ottimizzare il caricamento della pagina. I browser sono abbastanza bravi ad assegnare priorità, ma potrebbe non essere ottimale in tutti i casi.
Gli indicatori di priorità sono una funzionalità sperimentale, disponibile come
prova dell'origine a partire da Chrome 96, e possono contribuire a ottimizzare i
Segnali web essenziali. L'attributo importance
consente di specificare la priorità per i tipi di risorse come CSS, caratteri, script, immagini e iframe.
<!-- We don't want a high priority for this above-the-fold image -->
<img src="/not-important.svg" importance="low">
<!-- Initiate an early fetch for a resource, but de-prioritize it -->
<link rel="preload" href="/script.js" as="script" importance="low">
<script>
fetch('https://example.com/', {importance: 'high'})
.then(data => {
// Trigger a high priority fetch
});
</script>
Ad esempio, ecco la pagina di Google Voli. L'immagine di sfondo è il Largest Contentful Paint (LCP).
Vediamo come viene caricato con e senza suggerimenti di priorità. Con la priorità impostata su high
sull'immagine di sfondo, il valore LCP scende da 2,6 secondi a 1,9 secondi.
Consulta l'articolo Ottimizzazione del caricamento delle risorse con l'API Fetch Priority per tutti i dettagli, su come registrarti per la prova dell'origine e alcuni esempi utili su come può aiutarti a migliorare le prestazioni di rendering.
Emulare Chrome 100 nella stringa UA
All'inizio del prossimo anno, lanceremo Chrome 100, un numero di versione a tre cifre. Qualsiasi codice che controlla i numeri di versione o analizza la stringa UA deve essere controllato per assicurarsi che gestisca tre cifre.
A partire da Chrome 96, è disponibile un nuovo flag #force-major-version-to-100
che consente di modificare il numero di versione corrente in 100, in modo da verificare che tutto funzioni come previsto.
Per maggiori dettagli, vedi Forzare la versione principale di Chrome su 100 nella stringa User-Agent.
Chrome Dev Summit
Il Chrome Dev Summit è terminato. Tutti i video e i contenuti sono disponibili online. Visita il sito del Chrome Dev Summit oppure, se hai perso la keynote o il live streaming, dai un'occhiata alla playlist del CDS sul canale YouTube per gli sviluppatori di Chrome.
E tanto altro.
Ovviamente ce ne sono molti altri.
- La cache Indietro, Avanti o
bfcache
è ora disponibile nella versione stabile e consente di allineare Chrome a Firefox e Safari.
Per approfondire
Sono riportati solo alcuni dei punti salienti. Consulta i link di seguito per altre modifiche in Chrome 96.
- Novità di Chrome DevTools (96)
- Ritiro e rimozione di funzionalità in Chrome 96
- Aggiornamenti di ChromeStatus.com per Chrome 96
- Novità di JavaScript in Chrome 96
- Elenco delle modifiche al repository di origine di Chromium
- Calendario delle release di Chrome
Iscriviti
Per non perderti nessuna novità, iscriviti al canale YouTube di Chrome for Developers e riceverai una notifica via email ogni volta che lanceremo un nuovo video.
Sono Pete LePage e, non appena verrà rilasciato Chrome 97, sarò qui per dirti le novità di Chrome.