Guida pratica per leggere cosa succede nel front-end
Nota iniziale
Quando una pagina non si comporta come ti aspetti, la tentazione è cambiare codice a caso finché qualcosa torna a posto.
Le DevTools servono proprio a evitare quel modo di lavorare. Ti aiutano a guardare il browser mentre interpreta HTML, CSS, JavaScript, immagini, richieste di rete e dati salvati.
Questa guida non vuole coprire ogni pannello in profondità. L'obiettivo è darti una routine semplice per capire dove guardare quando layout, script, immagini, chiamate API o prestazioni non funzionano.
1. Il browser non è una scatola nera
Una pagina web non è solo il file che hai scritto. Nel browser diventa una combinazione viva di DOM, CSS calcolato, JavaScript eseguito, asset caricati e stato della sessione.
Per questo le DevTools sono fondamentali: mostrano la versione che il browser sta davvero usando, non solo quella che pensi di aver creato nel progetto.
All'inizio ti basta conoscere bene questi pannelli:
- Elements: struttura HTML, classi, attributi e CSS applicato.
- Console: errori JavaScript, avvisi e prove veloci.
- Sources: file caricati, breakpoint e debug passo passo.
- Network: file caricati, richieste API, status code e tempi.
- Application: localStorage, sessionStorage, cookie, cache e service worker.
- Performance, Memory e Lighthouse: analisi più mirate su velocità, memoria e qualità generale.
Non serve aprire tutto ogni volta. Serve sapere quale pannello risponde alla domanda che hai in testa.
2. Inspector: HTML e CSS reali
Il pannello Elements è il punto di partenza quando qualcosa visivamente non torna: spazio, colore, allineamento, font, dimensioni, hover, classi mancanti.
La cosa più importante da capire è questa: non stai guardando il file HTML originale, ma il DOM dopo che il browser e JavaScript lo hanno costruito.
Usalo per rispondere a domande molto concrete:
- l'elemento esiste davvero nella pagina?
- ha la classe che mi aspetto?
- quale regola CSS sta vincendo?
- una proprietà è barrata perché sovrascritta?
- il box model spiega margini, padding o dimensioni strane?
Una buona abitudine: prima ispezioni l'elemento, poi modifichi temporaneamente CSS e classi nelle DevTools. Quando hai capito la correzione, la riporti nel file vero.
3. Console: errori e prove rapide
La Console è il posto in cui il browser ti parla in modo più diretto. Se JavaScript si rompe, spesso il primo indizio serio è lì.
Non limitarti a leggere "rosso = panico". Guarda tre cose: il messaggio, il file coinvolto e la riga indicata. Sono già una piccola mappa.
Puoi usarla anche per fare prove rapide:
document.querySelector("h1")
document.querySelector(".button-simple")?.textContent
localStorage.getItem("tema")Queste prove non sostituiscono il codice del progetto, ma ti aiutano a capire se il selettore è giusto, se un elemento esiste o se un dato è davvero salvato.
Quando un errore sembra oscuro
Parti dal tipo di errore, non dalla paura che provoca.
- ReferenceError
- stai usando un nome che JavaScript non conosce in quel punto.
- TypeError
- stai facendo un'operazione su un valore del tipo sbagliato, spesso
nulloundefined. - SyntaxError
- il codice non è scritto in una forma valida: parentesi, virgole, virgolette o struttura.
4. Network: richieste, asset e API
Quando immagini, CSS, script o dati non arrivano, il pannello Network è spesso più utile della Console.
Qui puoi vedere ogni richiesta fatta dalla pagina: file statici, font, immagini, fetch verso API, risposte JSON, redirect e fallimenti.
I controlli più importanti sono pochi:
- Status:
200ok,404non trovato,500errore server,403accesso negato. - Type: ti dice se è document, script, stylesheet, image, fetch o altro.
- Preview/Response: ti mostra cosa è arrivato davvero.
- Headers: utile per URL, metodo, content type, cache e autorizzazioni.
Se una chiamata API "non funziona", prima controlla se parte davvero. Poi guarda URL, status code e risposta. Solo dopo ha senso tornare al codice.
5. Application: storage e cache
Alcuni problemi non stanno nel codice appena scritto, ma nello stato che il browser conserva.
Il pannello Application ti aiuta a controllare:
localStorage: dati che restano anche dopo aver chiuso il browser;sessionStorage: dati validi per la sessione corrente;- cookie: spesso usati per preferenze, sessioni e tracciamento;
- cache e service worker: possono servire file vecchi se configurati male.
Se una modifica sembra ignorata, prova a ricaricare senza cache o a controllare se un service worker sta ancora servendo una versione precedente.
6. Sources, Performance, Memory e Lighthouse
Questi pannelli sono molto utili, ma non sempre sono il primo posto da aprire. Conviene considerarli strumenti mirati, da usare quando la domanda è più precisa.
- Sources
- ti permette di vedere i file caricati dal browser, mettere breakpoint, fermare JavaScript e seguire il codice passo dopo passo.
- Performance
- serve quando una pagina sembra lenta: registra caricamento, rendering, script pesanti, layout e momenti in cui il thread principale è occupato.
- Memory
- diventa utile quando sospetti consumi anomali, leak o oggetti che restano in memoria anche dopo che non dovrebbero più servire.
- Lighthouse
- fa un audit rapido su performance, accessibilità, best practice e SEO. È una bussola, non una sentenza assoluta.
Per iniziare bene, la priorità resta capire Elements, Console e Network. Poi questi pannelli ti aiutano a fare un salto di qualità quando il problema non è più solo "non funziona", ma "perché è lento", "dove si blocca" o "cosa posso migliorare".
7. Routine minima di debug
Quando qualcosa non funziona, una routine semplice vale più di dieci tentativi casuali.
- Riproduci il problema con un passaggio preciso.
- Apri Console e controlla errori o warning.
- Se è un problema visivo, ispeziona l'elemento in Elements.
- Se mancano dati o asset, passa a Network.
- Se JavaScript si comporta in modo strano, usa Sources con un breakpoint.
- Se la pagina è lenta, guarda Performance o Lighthouse.
- Se il problema sembra "bloccato nel passato", controlla cache, storage e service worker.
- Fai una modifica piccola, verifica, poi passa alla successiva.
Questo metodo non rende i bug magicamente facili, ma ti impedisce di mischiare troppi problemi insieme.
Una checklist veloce
- la pagina carica il CSS giusto?
- il selettore JS trova davvero l'elemento?
- la richiesta API parte e riceve una risposta?
- l'URL dell'asset è corretto anche online?
- un breakpoint in Sources conferma il flusso previsto?
- Lighthouse segnala problemi reali o solo rifiniture?
- la cache sta mostrando una versione vecchia?
8. Da qui in poi
Le DevTools diventano davvero utili quando smetti di vederle come un pannello tecnico e inizi a usarle come strumento di lettura.
Ogni volta che qualcosa non torna, il browser contiene già molti indizi: HTML reale, CSS calcolato, errori, richieste, tempi, dati salvati, file caricati e metriche.
Per consolidare il percorso, queste guide si incastrano bene:
- VSCode essenziale: per collegare debug, terminale e progetto locale.
- Deploy base: per capire cosa cambia quando la pagina passa online.
- Git pratico senza panico: per salvare progressi e tornare indietro quando serve.
- Tutti i tutorial: per seguire gli altri contenuti disponibili.