Scopri come Chrome rimuove le funzionalità che non funzionano bene, riducendo al minimo le interruzioni per gli utenti finali e gli sviluppatori.
Chrome aggiunge continuamente nuove funzionalità, ma a volte è necessario rimuovere alcune funzionalità.
La rimozione delle funzionalità può ridurre la complessità del codice base del browser e contribuire a mantenere i browser sicuri riducendo i potenziali vettori di attacco. Un approccio attentamente coordinato sulla piattaforma web garantisce che i fornitori di browser possano rimuovere le funzionalità della piattaforma che non funzionano bene, riducendo al minimo le interruzioni per gli utenti finali e gli sviluppatori.
Rimozione delle funzionalità del browser
Se i browser rimuovessero le funzionalità senza preavviso, i siti web smetterebbero di funzionare e gli sviluppatori avrebbero difficoltà a pianificare la migrazione a tecnologie alternative. I fornitori di browser adottano invece un approccio sistematico, fornendo avvisi, risorse di supporto e cronologie dettagliate con largo anticipo rispetto alla rimozione delle funzionalità.
Ritiro e rimozione
La rimozione di una funzionalità da Chrome prevede due fasi principali:
- Ritiro:avvisa gli sviluppatori che una funzionalità verrà rimossa e fornisci risorse per aiutare i siti a eseguire la migrazione ad alternative. Gli avvisi vengono visualizzati nel riquadro Problemi di Chrome DevTools quando vengono utilizzate funzionalità deprecate e le informazioni su tempistiche e assistenza per il ritiro vengono pubblicate su Stato della piattaforma Chrome e negli articoli e nei post del blog Chrome for Developers.
- Rimozione: inizialmente, disattiva la funzionalità per impostazione predefinita, ma consenti agli sviluppatori di continuare a utilizzarla temporaneamente impostando un flag di Chrome o partecipando a una prova di ritiro. Una volta che i siti non si basano più sulla funzionalità disattivata, rimuovi il codice.
Blink Intents
I browser web basati su Chromium, come Chrome, utilizzano il motore di rendering Blink per trasformare il codice e le risorse in pagine web che puoi visualizzare e con cui puoi interagire. Quando gli ingegneri vogliono apportare una modifica a Blink, pubblicano un post nella mailing list blink-dev per ottenere l'approvazione per procedere. Questi post delle mailing list sono chiamati Blink Intents.
Quando gli ingegneri intendono ritirare e poi rimuovere una funzionalità da Blink, pubblicano un avviso di ritiro nell'elenco di distribuzione blink-dev, seguito da un avviso di rimozione. I due intent vengono spesso combinati come Intent to Deprecate and Remove.
Intenzione di ritiro
Un avviso di ritiro viene pubblicato dagli ingegneri di Blink quando vogliono iniziare ad avvisare gli sviluppatori che è prevista la rimozione di una funzionalità del browser. A questo punto, la funzionalità continuerà a essere disponibile, ma gli sviluppatori riceveranno assistenza e informazioni da Chrome DevTools, nonché in post del blog, su chromestatus.com e nella documentazione delle funzionalità su MDN e altrove.
Esempio: Intenzione di ritiro: eventi di mutazione
Intenzione di rimozione
Un Intent to Remove viene pubblicato quando gli ingegneri di Blink intendono disattivare una funzionalità e rimuovere il codice corrispondente. Un avviso di rimozione viene spesso combinato con un avviso di ritiro, come avviso di ritiro e rimozione.
Esempio: Intent to Deprecate and Remove: Web SQL
Ridurre al minimo le interruzioni per utenti e sviluppatori
Chrome evita di rimuovere funzionalità quando possibile.
Gli ingegneri di Chrome esaminano sempre i tassi di utilizzo delle funzionalità e altri dati prima di procedere con le deprecazioni. Una funzionalità verrà rimossa solo se, ad esempio, viene utilizzata solo da una percentuale molto ridotta di utenti e sono disponibili alternative migliori oppure se le modifiche all'ecosistema comportano gravi vulnerabilità di sicurezza. Una funzionalità non viene in genere rimossa da Chrome se altri browser prevedono di continuare a supportarla: la rimozione della funzionalità deve essere coordinata tra i motori dei browser.
Oltre ai post Intent nella mailing list blink-dev, i ritiri vengono annunciati sul blog per sviluppatori di Chrome. Avvisi e informazioni di assistenza sono disponibili anche in Chrome DevTools e nella documentazione delle funzionalità. Le tempistiche vengono pubblicate anche nella voce chromestatus.com per una funzionalità ritirata.
Riattivare temporaneamente una funzionalità ritirata
Esistono diversi modi per continuare ad accedere temporaneamente a una funzionalità dopo che il supporto è stato rimosso per impostazione predefinita da Chrome.
Prova di ritiro
Si tratta di un tipo di prova di origine che consente di riattivare temporaneamente una funzionalità che è stata modificata o disattivata per impostazione predefinita prima della rimozione. Ad esempio, il supporto per gli eventi di mutazione è stato rimosso a partire da Chrome 127. I siti che avevano bisogno di più tempo prima della migrazione da questi eventi potevano registrarsi alla prova di ritiro per riattivare temporaneamente gli eventi su siti specifici. In questo modo, gli sviluppatori hanno avuto più tempo per implementare soluzioni alternative.Criterio Chrome Enterprise
A volte viene reso disponibile un criterio per consentire ai siti di riattivare temporaneamente una funzionalità ritirata e rimossa. Ad esempio, è stato fornito unMutationEventsEnabledcriterio per le versioni di Chrome da 124 a 136.Flag di Chrome
Per alcune funzionalità ritirate, un flag di Chrome fornisce l'accesso temporaneo alla funzionalità per lo sviluppo locale. Ad esempio, è stato fornito il flagenable-unsafe-swiftshaderper consentire agli sviluppatori di riattivare l'utilizzo di SwiftShader come elemento di riserva per WebGL software.
Intervieni
In qualità di sviluppatore, devi prepararti alle modifiche della piattaforma web.
Puoi controllare le note di rilascio di ogni nuova versione di ogni browser, ma devi anche utilizzare i canali di browser pre-stabili per testare e adattare i tuoi siti in modo che siano pronti per le modifiche imminenti, comprese le rimozioni. Come minimo, assicurati che il tuo team di sviluppo utilizzi sia il canale Dev di Chrome sia Chrome stabile per accedere ai siti su cui lavorate. In qualità di sviluppatore, puoi eseguire più canali contemporaneamente. In questo modo puoi eseguire test con le versioni future di Chrome, nonché visualizzare il tuo sito in Chrome Stable, che è probabilmente il canale utilizzato dalla stragrande maggioranza dei tuoi utenti.
Controlla regolarmente la console Chrome DevTools per verificare la presenza di avvisi di ritiro. DevTools fornisce informazioni e link a risorse per aiutarti a eseguire la migrazione dalle funzionalità ritirate. Devi anche utilizzare più canali Chrome per i test automatici e manuali.