In Chrome 76 abbiamo aggiunto il supporto di:
prefers-color-scheme
query supporti, con la modalità Buio nei siti web.- Un pulsante di installazione nella omnibox per semplificare l'installazione delle app web progressive sul desktop.
- Impedisce la visualizzazione della mini-barra delle informazioni nelle app web progressive sui dispositivi mobili.
- Aggiornamenti più frequenti dei WebAPK.
- E molto altro.
Mi chiamo Pete LePage, analizziamo le novità di Chrome 76 per gli sviluppatori.
Pulsante di installazione omnibox PWA
In Chrome 76, semplificheremo l'installazione delle app web progressive sul desktop per gli utenti, aggiungendo un pulsante di installazione alla barra degli indirizzi, a volte chiamata omnibox.
Se il tuo sito soddisfa i criteri di installazione delle app web progressive, Chrome mostrerà nella omnibox un pulsante di installazione che indica all'utente che è possibile installare la PWA. Se l'utente fa clic sul pulsante Installa, equivale
alla chiamata a prompt()
nell'evento beforeinstallprompt
;
viene visualizzata la finestra di dialogo di installazione, in modo che l'utente possa installare facilmente la PWA.
Per i dettagli completi, vedi Installazione della barra degli indirizzi per le app web progressive sul desktop.
Maggiore controllo sulla mini-barra delle informazioni della PWA
Sui dispositivi mobili, Chrome mostra la mini-barra delle informazioni la prima volta che un utente visita il tuo sito se questo soddisfa i criteri di installabilità delle applicazioni web progressive. Abbiamo saputo che vorresti impedire la visualizzazione della mini-barra delle informazioni e offrire invece la tua promozione per l'installazione.
A partire da Chrome 76, la chiamata a preventDefault()
nell'evento beforeinstallprompt
interrompe la visualizzazione della mini-barra delle informazioni.
window.addEventListener('beforeinstallprompt', (e) => {
// Don't show mini-infobar
e.preventDefault();
// Stash the event so it can be triggered later.
deferredPrompt = e;
// Update UI to promote PWA installation
pwaInstallAvailable(true);
});
Assicurati di aggiornare la UI per comunicare agli utenti che la tua PWA può essere installata. Dai un'occhiata alla sezione Pattern per la promozione dell'installazione di PWA per conoscere le nostre best practice consigliate per promuovere l'installazione delle tue app web progressive.
Aggiornamenti più rapidi per WebAPK
Quando un'app web progressiva viene installata su Android, Chrome richiede e installa automaticamente un APK web. Dopo l'installazione, Chrome controlla periodicamente se il file manifest dell'app web è cambiato, ad esempio se hai aggiornato le icone e i colori o se hai modificato il nome dell'app, per verificare se è necessario un nuovo WebAPK.
A partire da Chrome 76, Chrome controllerà il manifest più spesso, effettuando controlli ogni giorno, anziché ogni tre giorni. Se una delle proprietà della chiave è cambiata, Chrome richiederà e installerà un nuovo WebAPK, garantendo che il titolo, le icone e altre proprietà siano aggiornati.
Per informazioni dettagliate, leggi la sezione Aggiornare più spesso i WebAPK.
Modalità Scuro
Molti sistemi operativi ora supportano la modalità Buio, o tema scuro.
La query supporti prefers-color-scheme
ti consente di modificare l'aspetto e il design del tuo sito in base alla modalità preferita dell'utente.
@media (prefers-color-scheme: dark) {
body {
background-color: black;
color: white;
}
}
Tom ha un ottimo articolo Ciao buio, mio vecchio amico su web.dev con tutto ciò che c'è da sapere, oltre a suggerimenti per progettare l'architettura dei fogli di stile in modo da supportare sia la modalità Luce sia quella Buio.
E tanto altro.
Queste sono solo alcune delle modifiche apportate a Chrome 76 per gli sviluppatori, e ovviamente ce ne sono molte altre.
Promise.allSettled()
Personalmente, sono davvero entusiasta di Promise.allSettled()
. È simile a Promise.all()
, tranne per il fatto che attende la definizione di tutte le promesse prima di tornare.
const promises = [
fetch('/api-call-1'),
fetch('/api-call-2'),
fetch('/api-call-3'),
];
// Imagine some of these requests fail, and some succeed.
await Promise.allSettled(promises);
// All API calls have finished (either failed or succeeded).
Leggere i blob è più facile
I Blob
sono più facili da leggere con tre nuovi metodi: text()
, arrayBuffer()
e stream()
; questo significa che non dobbiamo più creare un wrapper attorno al lettore di file.
// New easier way
const text = await blob.text();
const aBuff = await blob.arrayBuffer();
const stream = await blob.stream();
// Old, wrapped reader
return new Promise((resolve) => {
const reader = new FileReader();
reader.addEventListener('loadend', (e) => {
const text = e.srcElement.result;
resolve(text);
});
reader.readAsText(file);
});
Supporto delle immagini nell'API per gli appunti asincroni
Inoltre, abbiamo aggiunto il supporto delle immagini nell'API Async Clipboard per semplificare la copia e l'incolla delle immagini in modo programmatico.
Per approfondire
Questo articolo illustra solo alcuni dei punti salienti. Controlla i link di seguito per scoprire ulteriori modifiche in Chrome 76.
- Novità di Chrome DevTools (76)
- Rimozioni e ritiri di Chrome 76
- Aggiornamenti di ChromeStatus.com per Chrome 76
- Novità di JavaScript in Chrome 76
- Elenco delle modifiche al repository di origine di Chromium
Iscriviti
Se vuoi tenerti sempre al corrente sui nostri video, iscriviti al nostro canale YouTube degli sviluppatori di Chrome e riceverai una notifica via email ogni volta che viene lanciato un nuovo video.
Mi chiamo Pete LePage e, non appena uscirà Chrome 77, sarò qui per raccontarvi le novità di Chrome.