Quando gli ingegneri vogliono apportare una modifica al motore di rendering Blink, pubblicano un post sulla mailing list blink-dev per ottenere l'approvazione per procedere. Questi post della mailing list sono chiamati Blink Intents.
I browser web basati su Chromium utilizzano il motore di rendering Blink per trasformare il codice e le risorse in pagine web che puoi visualizzare e con cui interagire.

Scopri come funzionano le intenzioni di Blink, perché sono importanti e come le nuove funzionalità vengono integrate in Blink.
Chromium e Blink
Chromium è il progetto del browser open source su cui sono basati Chrome e alcuni altri browser e framework. Blink è il motore di rendering utilizzato da Chromium.
Affinché una nuova funzionalità venga implementata in Blink, deve passare attraverso il processo di sviluppo aperto del progetto Chromium. Una "nuova funzionalità" è qualsiasi modifica o aggiunta al codice o all'architettura del browser. Potrebbe trattarsi di una nuova API JavaScript, di un miglioramento significativo del codice Blink o di un'altra modifica all'aspetto o al funzionamento del browser.
Un processo aperto e collaborativo
Chromium è un progetto enorme e complesso con migliaia di collaboratori. Quando vengono apportate modifiche a Chromium, ogni traguardo è un'opportunità per invitare l'ecosistema web più ampio a commentare il design e l'implementazione.
Ove possibile, le nuove funzionalità devono essere interoperabili sulla piattaforma web e non essere implementate solo su un browser. Gli sviluppatori web non vogliono sorprese: quando i browser non funzionano come previsto o quando finiscono per dover scrivere codice diverso per browser e piattaforme diversi. Gli intent di Blink aiutano a strutturare e regolare il processo di modifica, per rendere le modifiche più prevedibili e meno sorprendenti, il che è positivo per gli sviluppatori web.
Per gli utenti, i fornitori di browser devono fare attenzione a non causare l'interruzione del funzionamento dei siti web. I proprietari di siti spesso interrompono la manutenzione dei siti web. Alcuni siti non vengono aggiornati da decenni. I fornitori di browser devono tenerne conto quando apportano modifiche che potrebbero causare interruzioni.
Dall'idea alla proposta
Le proposte di modifiche e aggiornamenti alla piattaforma web derivano da ricerche: consulenza con utenti, aziende, ingegneri dei browser, sviluppatori web e altri stakeholder. Questa ricerca consente al team di Chrome di capire cosa manca alla piattaforma o cosa deve essere modificato. Inizialmente, una proposta di modifica o una nuova funzionalità sulla piattaforma web sono solo parole su una pagina. Gli ingegneri condividono documenti per ricevere feedback e discutere con i colleghi.
Un esempio: FedCM
Federated Credential Management (FedCM) è un'API per fornire meccanismi nuovi e migliori per le piattaforme che gestiscono la registrazione e l'accesso degli utenti, nota come identità federata, ad esempio quando selezioni "Accedi con Google" o "Accedi con GitHub".
Una volta che una proposta come FedCM è pronta per la discussione pubblica, viene pubblicata su GitHub come spiegazione. A questo punto, chiunque può porre una domanda o commentare il design di una funzionalità creando un problema nel repository di spiegazioni su GitHub. Il feedback potrebbe descrivere casi d'uso o vincoli aggiuntivi, fornire idee per i miglioramenti o semplicemente mostrare il supporto.

Una volta che una proposta viene adottata da un organismo di standardizzazione, come il W3C, gli stakeholder possono partecipare alle discussioni e guardare le presentazioni nei gruppi di standard web come i gruppi di lavoro W3C.
Intent di Blink: traguardi e avanzamento
Per ogni traguardo, quando gli ingegneri stanno lavorando a una nuova funzionalità o a una modifica del motore di rendering Blink, pubblicano un post nel gruppo di discussione blink-dev, spiegando che intendono passare alla fase successiva dell'implementazione di una funzionalità. Questi post sono chiamati "intent". Chiunque può iscriversi al gruppo blink-dev per ricevere una notifica quando vengono fatti progressi con le nuove funzionalità di Blink oppure iscriversi a una singola funzionalità per ricevere gli aggiornamenti.
Intent to Prototype: il primo checkpoint
A questo punto, gli ingegneri di Chromium possono iniziare a implementare una funzionalità. Ciò significa che la funzionalità del prototipo potrebbe essere resa disponibile per i test degli sviluppatori tramite un flag di funzionalità, inizialmente in Chrome Canary e poi in altri canali di rilascio. Qualsiasi utente può impostare un flag dalla pagina chrome://flags per attivare e testare una funzionalità nel browser.
Tuttavia, non tutti i flag possono essere impostati dalla pagina chrome://flags. Per un controllo più granulare, puoi eseguire Chrome da un terminale utilizzando i flag a riga di comando. Tieni presente che alcune nuove funzionalità non sono disponibili finché non vengono rilasciate per i test in Chrome Canary, anche se si tratta di un caso piuttosto raro. Alcune funzionalità non hanno un proprio flag, ma vengono rese disponibili se il flag experimental-web-platform-features è attivato. Questo è generalmente il caso di funzionalità "più piccole" che non richiedono più di tre-sei mesi per essere implementate.
Raccogliere feedback sui prototipi
Una volta avviata la prototipazione di una nuova funzionalità, gli ingegneri di Chromium invitano a discuterne e a sperimentarla in anteprima. A questo punto, il feedback è fondamentale per la convalida e l'iterazione delle proposte. Bug di Chromium è il luogo in cui commentare l'implementazione in Chrome.

Intent to Experiment: Testing in the real world
Un post Intent to Experiment su blink-dev è un passaggio facoltativo successivo, se gli ingegneri di Chrome vogliono richiedere l'esecuzione di una prova dell'origine.

Le prove Origin sono un modo per testare una funzionalità della piattaforma web nuova o sperimentale. Ti registri per la prova dell'origine di una funzionalità, quindi ricevi un token per la prova. La funzionalità verrà attivata in qualsiasi pagina che fornisce il token.

Approvazione dei proprietari dell'API Blink
Per poter procedere con l'implementazione di una funzionalità, i proprietari dell'API Blink devono dare la loro approvazione rispondendo a un intento con un post "OK", noto come LGTM.
I proprietari di API Blink sono un piccolo gruppo di collaboratori di Chromium, con molta esperienza con la piattaforma web e le relative API, e considerati dalla community di Blink in regola, con un impegno nei confronti della missione e dei valori di Blink. Oltre a dare l'approvazione (o meno) per procedere con l'implementazione delle funzionalità, i proprietari dell'API supervisionano il processo di Intent di Blink stesso.
Un'intenzione di condurre un esperimento deve ricevere almeno un LGTM dai proprietari dell'API.

Il valore delle prove dell'origine
Gli sviluppatori possono registrarsi per la prova dell'origine di una funzionalità e poi testarla in produzione in ambienti reali con utenti reali, senza che gli utenti debbano intervenire per attivarla. Gli sviluppatori possono condividere i risultati dei test, fornendo informazioni e dati preziosi per perfezionare ed evolvere la funzionalità.
Intent to Ship: il traguardo finale
L'Intent to Ship indica che una funzionalità è ora completa e pronta per essere implementata in disponibilità generale per tutti gli utenti di Chrome Stable senza bisogno di un flag o di un token di prova. Prima che l'implementazione possa procedere, un Intent to Ship deve ricevere tre LGTM dai proprietari dell'API.
Implementazione di nuove funzionalità
Una volta approvata, una funzionalità viene unita a una release imminente e poi procede attraverso i canali di rilascio di Chrome. I test e l'implementazione di nuove funzionalità vengono spesso gestiti con particolare attenzione. Alcune funzionalità vengono implementate gradualmente per una percentuale crescente di utenti. Le funzionalità possono anche essere sottoposte a rollback e rielaborate, se si verificano effetti collaterali imprevisti.
Gestione del ciclo di vita delle funzionalità: ritiro e rimozione
Esistono altri due tipi di intent di Blink:
- Intento di ritiro
- Intento di rimozione
Potrebbero sembrare un po' tristi, ma sono fondamentali per il successo dello sviluppo di Blink.
Un Intent to Deprecate viene pubblicato dagli ingegneri quando vogliono iniziare ad avvisare gli sviluppatori che è prevista la ritirata di una funzionalità. Ad esempio, fornendo assistenza e informazioni sul ritiro nella console Chrome DevTools.
Un Intent to Remove (Intenzione di rimozione) viene pubblicato quando gli ingegneri intendono disattivare il codice per impostazione predefinita.

L'importanza del ritiro e della rimozione
Il ritiro e la rimozione sono entrambi fondamentali per l'integrità della piattaforma web. Garantiscono che Chrome possa rimuovere le funzionalità che non funzionano bene per gli utenti finali o gli sviluppatori web e contribuiscono a ridurre la complessità della base di codice. Ad esempio, problemi con la progettazione di AppCache sono stati scoperti una volta che è stato utilizzato sui siti di produzione in browser stabili e l'API è stata infine rimossa. Il ritiro e le rimozioni contribuiscono anche a mantenere Chrome al sicuro, riducendo i potenziali vettori di attacco.
Come per tutti gli intent di Blink, il team di Chrome fa del suo meglio per prendere decisioni con attenzione. Prima di procedere, esaminano le percentuali di utilizzo delle funzionalità e altri dati. Il livello richiesto per la rimozione delle funzionalità è in realtà incredibilmente elevato e una funzionalità verrà rimossa solo se viene utilizzata da una percentuale molto, molto ridotta di utenti e se sono disponibili alternative migliori.
Tieniti al passo con Blink Intents
Puoi monitorare l'avanzamento delle funzionalità su Stato di Chrome, dove puoi iscriverti agli aggiornamenti, segnalare bug e trovare altre risorse.

Per tenere traccia delle nuove funzionalità, puoi seguire il blog di Chromium. Puoi rimanere al passo con tutti gli scopi di Blink partecipando al gruppo di discussione blink-dev. Ciò può comportare molte email. In alternativa, puoi scegliere di registrarti a un singolo intento. Puoi visualizzare un foglio di lavoro degli intent di Blink all'indirizzo bit.ly/blinkintents. Se apprezzi molto gli intent di Blink, puoi anche creare i servizi di monitoraggio degli intent di Blink automatici.
Passaggi successivi
Consulta l'articolo Che cosa sono i canali di rilascio di Chrome?.