Headless Chrome è il nome di una nuova funzionalità integrata dagli sviluppatori di Mountain View in Google Chrome 59, si tratta sostanzialmente di una modalità di esecuzione alternativa grazie alla quale sarà possibile avviare Chrome in un ambiente headless, cioè in un contesto privo di interfaccia grafica, un po' come già accade da tempo per alcune piattaforme Console based destinate alla gestione server amministrabili via SSH.
Headless Chrome viene definito "Chrome without chrome". Se state leggendo questo post sapete sicuramente cos'è un browser Web, ma ora ipotizzate di poter rimuovere la UI di un'applicazione per la navigazione Web, quello che rimarrà sarà appunto un headless browser. Tecnicamente un headless browser può eseguire qualsiasi operazione supportata da un comune browser, ma la mancanza di un'interfaccia utente lo rende una soluzione più stabile, veloce e affidabile.
Nello stesso modo Headless Chrome supporta tutte le feature messe a disposizione da Chromium, il progetto alla base di Chrome, e dal rendering engine Blink, ma prevede l'interazione tramite linea di comando. Tale caratteristica lo rende particolarmente indicato per operazioni che prevedono l'automazione dei processi e i test programmatici delle pagine Web, con Headless Chrome si potranno testare per esempio delle Web application, generare dei file PDF o ispezionare le modalità con le quali un browser gestisce il rendering delle URL.
Siamo quindi di fronte ad uno strumento appositamente dedicato agli sviluppatori, o per meglio dire ad una modalità di esecuzione che renderà più semplici e rapide procedure come il recupero di informazioni riguardanti una pagina (user agent, eventuale manifest di una Web App, meta tag..), il debugging, la cattura di screenshot per registrare gli stati correnti o la stampa del DOM (Document Object Model).
L'utilizzo programmatico delle funzionalità di Headless Chrome sarà possibile attraverso alcuni package Node come per esempio Lighthouse, un automated tool disponibile anche come estensione di Chrome e concepito per il miglioramento di pagine Web in termini di performance e accessibilità, o chrome-remote-interface, un modulo Node che fornisce API per il protocollo DevTools.
Ad oggi l'headless mode è disponibile soltanto su Mac e Linux in Chrome 59, ma presto dovrebbe essere supportato anche sui sistemi Windows.
Via Eric Bidelman