Scopri Chrome Dev Insider

Ben Galbraith
Ben Galbraith

Gli sviluppatori spesso ci dicono che è difficile stare al passo con i cambiamenti sul web e capire perché si verificano. Oggi diamo il via a una nuova serie chiamata Chrome Dev Insider in cui condivideremo (1) Aspetti interessanti e interessanti, (2) Un approfondimento su come abbiamo preso una decisione su un argomento chiave (ad esempio cambiamento FLOC) o sul nostro approccio al lavoro con l'ecosistema (ad esempio Interop 2022) e (3) informazioni davvero importanti che devi sapere riguardo alle stringhe dello user agent (ad esempio).

Condividiamo ciò a cui stiamo lavorando nel contesto delle nostre quattro priorità per il 2022:

  • Offrire esperienze utente piacevoli: rendi tutto intuitivo per gli utenti, che si tratti di prestazioni, transazioni, identità o transizioni.
  • Migliorare le funzionalità del web:supporta l'evoluzione del ruolo del web da piattaforma di fruizione dei contenuti alla piattaforma per un'ampia gamma di esperienze, incluse quelle che richiedono integrazioni approfondite a livello di sistema operativo e hardware.
  • Sviluppo web semplificato: semplifica il processo decisionale e migliora la produttività degli sviluppatori.
  • Migliorare la privacy del web: soddisfa le aspettative degli utenti web in merito a una migliore protezione della privacy dei dati di fronte alla sempre crescente sofisticazione degli sviluppatori nel monitoraggio e nel targeting.

Nelle notizie: interoperabilità 2022

Durante la pianificazione delle nostre roadmap, esaminiamo il feedback degli sviluppatori per comprendere, tra le altre cose, i principali punti deboli e le principali esigenze degli sviluppatori web. Un tema chiave che compare ripetutamente è la compatibilità del browser, facendo sì che un'esperienza funzioni allo stesso modo su tutti i browser. Nell'ultimo anno, abbiamo collaborato con l'ecosistema per affrontare questo tema come parte della nostra priorità di "semplificare lo sviluppo web".

L'anno scorso, i giocatori di Microsoft, Chrome e dell'ecosistema hanno annunciato Compat 2021 che ha portato tutti i motori browser più diffusi (Chromium, Gecko e Webkit) a ottenere un punteggio superiore al 90% nelle cinque aree di interesse principali identificate per l'anno. Tra le altre cose, Compat 2021 ha portato alla creazione di una base solida per funzionalità potenti come CSS Grid (utilizzo del 12% e in costante crescita) e CSS Flexbox (77% di utilizzo).

Il mese scorso, Apple, Bocoup, Google, Igalia, Microsoft e Mozilla si sono riuniti come sostenitori per risolvere i principali problemi di compatibilità dei browser identificati dagli sviluppatori web e concordare un benchmark comune. Il risultato è Interop 2022, un progetto il cui obiettivo è rendere più omogenea la piattaforma. Il benchmark si concentra su 15 aree prioritarie identificate dagli sviluppatori come fondamentali per migliorare la loro produttività.

Novità per gli addetti ai lavori: collaborazione con i nostri colleghi del browser

Nell'ambito di Interop 2022, ho incontrato Robert Nyman e Philip Jägenstedt che sono stati coinvolti in queste conversazioni per conoscere meglio la storia. Ecco una versione dell'editore giornalistica.

Qual è l'origine di questa iniziativa?

Robert: Tutto è iniziato nel 2019, quando abbiamo condotto il sondaggio MDN DNA 2019. I problemi di compatibilità si sono chiaramente distinto come il problema principale per gli sviluppatori che creano per il web e abbiamo esaminato in modo molto più dettagliato nell'MDN Browser Compatibility Report 2020. Questo ci ha fornito informazioni sufficienti e dati strategici per dare inizio all'impegno di Compat 2021, che a sua volta ha portato alla prosecuzione del lavoro svolto e all'espansione di questo ambito grazie a Interop 2022.

Philip: Vorrei anche citare web-platform-test e State of CSS 2021. Da anni abbiamo collaborato a stretto contatto con altri fornitori di browser in merito ai test con WPT e volevamo davvero sfruttarlo. I test per queste funzionalità erano per lo più già stati scritti, quindi dovevamo solo rivederli e aggiungere una parte mancante. Google ha investito molto in wpt.fyi, ma dobbiamo anche ringraziare Mozilla per aver ottenuto il successo che ha oggi WPT. Mozilla, ovviamente, ha avuto anche un ruolo importante nei sondaggi sul DNA di MDN. Oltre a questi, c'è anche lo State of CSS 2021. Per mettere insieme un progetto come Interop 2022, abbiamo bisogno di un nuovo input sulle esigenze degli sviluppatori web, quindi abbiamo collaborato con il gestore del sondaggio Sacha per includere alcune nuove domande sui problemi di compatibilità del browser. Questo ci ha davvero aiutato nel processo di pianificazione di Interop 2022.

Quali insegnamenti tratti o feedback da Compat 2021?

Robert: È stato davvero utile misurare e ottenere punteggi e approfondimenti sul rendimento di ogni motore di browser per poter seguire i progressi e assicurarci di discutere e risolvere problemi poco chiari o che dovevano essere prioritari. Ci siamo anche subito resi conto che "Interop" era un nome più appropriato per l'iniziativa. I termini compatibilità e interoperabilità sono in genere distinti dai fornitori di browser, dove "compat" si riferisce alla compatibilità del sito, mentre "interoperabilità" si riferisce a due o più browser che si comportano nello stesso modo. In questa terminologia, questo impegno riguarda l'interoperabilità e quindi il progetto è in linea con la denominazione.

Qual è la nostra visione qui?

Robert: per mantenere il web aperto, la diversità del browser e del motore di rendering è fondamentale. Purtroppo questa opzione è attualmente a un prezzo elevato per i nostri sviluppatori che devono stare al passo con i diversi livelli di supporto per le funzionalità di ogni motore. La nostra visione è che gli sviluppatori vedono la piattaforma web come l'opzione più valida e la scelta più interessante per le loro esigenze e che possano concentrarsi sulla creazione delle migliori esperienze possibili invece di dedicare molto tempo alla risoluzione dei problemi di interoperabilità. È evidente che per raggiungere questo obiettivo le funzionalità più richieste devono essere presenti in tutti i principali motori dei browser per consentire davvero agli sviluppatori di avere successo sulla piattaforma web.

Come possiamo procedere collettivamente quando i browser con obiettivi diversi (a volte) si uniscono?

Philip: Il nostro approccio è stato quello di individuare aree di interesse comune per trovare collaborazioni remunerative in cui gli obiettivi sono già allineati in modo approssimativo. Diamo la priorità a un numero limitato di cose su cui lavorare contemporaneamente per concentrarci su queste aree e andare avanti più velocemente e ottenere una qualità superiore rispetto a quando lavorassimo separatamente. Questa è l'idea.

Penso sia importante riconoscere che ci sono dei limiti a questo approccio basato sul consenso, dove gli obiettivi non sono sufficientemente allineati è necessario andare avanti in un altro modo. A volte può essere utile fornire più prove delle esigenze degli sviluppatori web o degli utenti, ma alla fine i fornitori di browser possono offrire cose che non hanno un accordo generale. Nel migliore dei casi, il valore della funzionalità viene poi dimostrato dagli sviluppatori web che la provano, scoprendo che soddisfa le loro esigenze e chiedendo la stessa funzionalità in tutti i browser.

Ritornando a Interop 2022, vediamo in fase di implementazione funzionalità non di progettazione o di layout?

Philip: Assolutamente! Interop 2022 non si è limitato alle funzionalità di stile e layout, ma si è orientato molto verso CSS. In parte perché lo State of CSS 2021 era aggiornato, ma anche perché gli sviluppatori web ci hanno detto che è qui che hanno maggiori problemi con le differenze tra i browser. Le diverse aree di interesse, come gli elementi dei moduli e delle finestre di dialogo, vanno oltre le risorse CSS; inoltre, svolgiamo alcune iniziative di indagine relative alla modifica di API ed eventi di puntatore e mouse. Mi auguro che per l'Interoperabilità 2023 avremo più dati aggiornati sulle esigenze degli sviluppatori in tutto il web e includeranno altre funzionalità di questo tipo nel nostro impegno.

Principali modifiche imminenti

Uno degli obiettivi di questa serie è informare gli sviluppatori dei cambiamenti chiave imminenti, che sono importanti per migliorare l'esperienza utente e le funzionalità della piattaforma.

Le tempistiche indicate di seguito indicano il momento in cui prevediamo che vengano applicate queste modifiche. Tuttavia, è possibile che le versioni di release delle funzionalità cambino.

Riduzione dello user agent

L'intestazione User-Agent e le interfacce JS associate trasmettono non solo informazioni utili sul browser e sul dispositivo, ma porta anche con sé un'eredità di derivazione e informazioni imprecise. Più problematico della fornitura quasi infinita di bug di analisi delle stringhe UA è il fatto che questi vengano inviati passivamente ai server per tutte le richieste di navigazione e di risorse secondarie. Rappresenta circa 10 bit di entropia che i server possono utilizzare per creare identificatori di monitoraggio stabili mentre gli utenti navigano sul web.

Il nostro piano attuale è quello di ridurre la stringa UA esistente continuando a distribuire la versione principale del browser a bassa entropia, il nome della piattaforma e la mobileness, bloccando le informazioni ad alta entropia. Per i casi d'uso che richiedono informazioni aggiuntive rispetto a quelle contenute nell'intestazione, forniamo l'API User-Agent Client Hints a partire da Chrome 89.

Abbiamo eseguito una prova dell'origine per 6 mesi a scopo di sperimentazione e feedback e siamo stati felici di non aver ricevuto alcun feedback in merito alla rottura nonostante ci fossero più di 200 partecipanti.

API Local Fonts Access

Chrome sta lanciando l'API Local Font Access. Sebbene i siti siano in grado di utilizzare da tempo i caratteri locali, questa API enumera l'elenco dei caratteri locali e dà accesso ai dati sui caratteri stessi. Questa funzionalità offre agli utenti la possibilità di utilizzare tutti i loro caratteri con design basato sul web e altre applicazioni.

I caratteri locali sono da tempo noti come vettore di fingerprinting. Anche se questa nuova API non aumenta la possibilità di utilizzare i caratteri per il fingerprinting, Chrome richiede che un utente conceda una nuova autorizzazione "local-fonts" per un sito prima di poter utilizzare la nuova API Local Font Access.

In futuro, prevediamo di richiedere la concessione della stessa autorizzazione "font-locali" prima di utilizzare qualsiasi altra API che fornisca accesso ai caratteri locali.

  • Cronologia: targeting Chrome 103 (giugno 2022).
  • Invito all'azione: scopri di più sull'API e su come usarla per iniziare l'implementazione.

Attivazione del funzionamento di BFCache con Cache-control: no-store

Abbiamo identificato un'opportunità significativa per migliorare la frequenza con cui la cache back/forward può fornire navigazioni immediate avanti/indietro. Ciò richiede una modifica del comportamento di BFCache sulle pagine pubblicate con l'intestazione HTTP Cache-control: no-store. Abbiamo una proposta pubblica pensata per evitare sorprese significative mediante il monitoraggio di vari indicatori (ad esempio, l'eliminazione di pagine dalla BFCache ogni volta che un cookie solo HTTP cambia) e la suddivisione (ad esempio i criteri di gruppo per i clienti Enterprise/Edu) per contesti unici. Si tratta di un'opportunità complessa, ma entusiasmante, e ci piacerebbe ricevere ulteriori accertamenti e feedback.

  • Sequenza temporale:targeting di Chrome 104 (luglio 2022), se non ci sono grandi sorprese.
  • Invito all'azione: consulta la proposta per ulteriori dettagli, tra cui come attivare un'implementazione in corso e i modi per condividere feedback, ad esempio scenari reali in cui il nostro approccio creerebbe nuovi ostacoli.

Grazie a questa serie, spero di riuscire a trasmettere un senso di concentrazione e connessione alla nostra community di sviluppatori, avvicinandoli al mio team e al loro lavoro. Continua a seguirci e tieni d'occhio questa pagina per altri aggiornamenti.

Fino ad allora, buon lavoro con le cinghie.

Cosa ne pensi della prima edizione di The Chrome Dev Insider? Condividi il tuo feedback.