← Tutti gli episodi
Copertina di Costruire e consumare API
Stagione 7 · Episodio 008

Costruire e consumare API

24 agosto 2026 5:12
0:00 5:12

Ciao, e benvenuto nell'ottava puntata della settima stagione. Nella scorsa puntata abbiamo detto che frontend e backend, per dialogare, hanno bisogno di un ponte, un punto di contatto ben definito. Oggi parliamo proprio di quel ponte, uno dei concetti più importanti di tutto lo sviluppo web moderno: le interfacce di programmazione, quelle che tutti chiamano con la sigla di tre lettere, API. Capirle bene significa capire come le due metà del Web si tengono per mano.

Cominciamo dal cos'è, con un'analogia che chiarisce tutto. Pensa a un ristorante. Tu, cliente, non entri in cucina a prenderti il cibo: parli con il cameriere. Gli dici cosa vuoi dal menù, lui porta la richiesta in cucina, la cucina prepara, e il cameriere ti riporta il piatto. Tu non sai né ti importa come funziona la cucina: ti basta il menù e il cameriere. Un'interfaccia di programmazione è esattamente questo: un menù di cose che puoi chiedere e un cameriere che porta avanti e indietro le richieste, senza che tu debba sapere cosa succede in cucina. È il punto di contatto ordinato tra chi chiede e chi fa.

Trasportiamo l'analogia sul Web. Il frontend è il cliente affamato: vuole dei dati o vuole far fare qualcosa. Il backend è la cucina: ha i dati e sa fare il lavoro. L'interfaccia di programmazione è il menù e il cameriere insieme: definisce cosa il frontend può chiedere, e in che modo, e come il backend risponderà. Grazie a questo accordo, le due metà possono lavorare in modo indipendente: chi fa il frontend non deve sapere come è costruita la cucina, gli basta conoscere il menù. Questa separazione ordinata è ciò che rende gestibili le applicazioni complesse.

Vediamo il meccanismo concreto, che riprende il ciclo di richiesta e risposta che ormai conosci bene. Il frontend manda una richiesta a un certo indirizzo del backend, dicendo cosa vuole: per esempio, "dammi l'elenco degli articoli". Il backend riceve questa richiesta, va a prendere i dati, e li rimanda indietro come risposta. Ci sono anche richieste che non chiedono dati, ma chiedono di fare qualcosa: "crea un nuovo articolo con queste informazioni", "cancella questo". Le interfacce web ben fatte usano tipi di richiesta diversi per intenzioni diverse: chiedere dati, crearne, aggiornarne, cancellarne. Questa corrispondenza tra tipo di richiesta e intenzione è una delle convenzioni ordinate del Web.

Ora parliamo della forma dei dati che si scambiano, perché serve un formato comune, una lingua che entrambe le metà capiscano. Immagina se il frontend e il backend parlassero due lingue diverse: non si capirebbero. Serve un modo standard di scrivere i dati, semplice e leggibile, che tutti i linguaggi sappiano leggere e produrre. Nel Web moderno esiste un formato dominante proprio per questo, un modo testuale di rappresentare dati strutturati, fatto di coppie nome e valore, che è diventato la lingua franca dello scambio di dati. Non devi conoscerne i dettagli adesso; ti basta sapere che esiste un formato comune, e che è ciò che permette a un frontend e a un backend, magari scritti in linguaggi diversi, di capirsi perfettamente.

Perché tutto questo è così potente? Per una ragione che vale la pena sottolineare: separando le due metà attraverso un'interfaccia ben definita, ognuna può cambiare senza rompere l'altra, purché rispetti l'accordo. Puoi rifare completamente il frontend, mantenendo lo stesso backend. Puoi cambiare il backend, magari riscriverlo in un altro linguaggio, senza toccare il frontend, se continua a offrire lo stesso menù. E, cosa enorme, lo stesso backend può servire più frontend diversi: il sito web, l'applicazione del telefono, altri programmi. L'interfaccia è il contratto stabile che permette a tutto il resto di evolvere in libertà.

C'è un'altra conseguenza importante, che allarga la prospettiva: le interfacce di programmazione non collegano solo il tuo frontend al tuo backend. Permettono a programmi diversi, di aziende diverse, di parlarsi. Quando un'applicazione mostra una mappa, o permette di pagare, o pubblica su un social, spesso lo fa chiamando l'interfaccia di un altro servizio. Gran parte del software moderno è fatto di pezzi che si parlano tramite queste interfacce, come un'enorme rete di cucine e camerieri che si scambiano ordini. Capire questo concetto ti apre la comprensione di come è costruito, davvero, il mondo digitale.

Un consiglio pratico, che collega alla stagione sull'open source e sui progetti: il modo migliore per capire le interfacce di programmazione è usarne una. Esistono tantissimi servizi che offrono interfacce pubbliche, spesso gratuite, con cui puoi giocare: chiedere dati e vederli arrivare. Provare a fare una richiesta a un'interfaccia esistente e ricevere indietro i dati, con le tue mani, chiarisce in cinque minuti concetti che mille spiegazioni lasciano nebbiosi. E come sempre in questa stagione, gli strumenti del browser ti permettono di osservare le richieste e le risposte che avvengono, trasformando un concetto astratto in qualcosa che vedi accadere.

Per oggi ci fermiamo qui. Le interfacce di programmazione sono il ponte tra frontend e backend: come il menù e il cameriere di un ristorante, definiscono cosa si può chiedere e come si risponde, senza dover conoscere la cucina. Funzionano con lo scambio di richieste e risposte, usando un formato di dati comune, e la loro potenza è separare le parti così che ognuna evolva in libertà rispettando l'accordo. Collegano anche servizi diversi tra loro, costruendo il software moderno. Nella prossima puntata scendiamo nell'ultimo strato: i database, dove i dati vivono davvero. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.