Che cos'è un'architettura disaccoppiata (backend headless)?

Aggiornato: ottobre 2026

L’architettura disaccoppiata è un modello di progettazione in cui frontend e backend sono sistemi distinti che comunicano solo attraverso le API. Il “backend headless” porta questa idea alla sua conclusione logica: il backend non ha alcuna interfaccia utente – nessuna testa – ma solo dati e logica dietro un’API, e ogni schermata che il prodotto avrà mai è un client distinto di quel backend.

Punti chiave

DomandaRisposta
Che cos’èFrontend e backend come sistemi indipendenti uniti da un contratto di API
Headless vs. disaccoppiatoIl disaccoppiato può tenere un frontend predefinito; l’headless rimuove del tutto la testa
Perché farloUn solo backend serve web, mobile e qualunque cosa arrivi dopo – i team avanzano in modo indipendente
Quanto costaIl rendering va costruito, due pipeline vanno gestite e il contratto di API va mantenuto
vs. microserviziAsse diverso: l’headless separa il front dal back; i microservizi tagliano il back stesso

Un backend, molte teste

Tutta l’architettura si riduce a un contratto – una richiesta HTTP, e del JSON strutturato in risposta:

# Tutta la relazione frontend/backend, visibile in una sola richiesta
$ curl https://parseapi.back4app.com/classes/Product \
    -H "X-Parse-Application-Id: APP_ID" \
    -H "X-Parse-REST-API-Key: REST_KEY"

{ "results": [ { "objectId": "xK9dV2", "name": "Espresso Kit", "inStock": true } ] }

Niente in quella risposta dice come debba apparire un prodotto. Ed è proprio il punto – il rendering appartiene alle teste, e ogni testa consuma lo stesso backend:

// Web (React, Vue, anything) — Back4app JS SDK
const query = new Parse.Query('Product');
query.equalTo('inStock', true);
const products = await query.find();
renderCatalog(products); // any frontend, same backend

Arriva un canale nuovo – un totem, un’app per la TV, un’integrazione con un partner – e il backend non cambia di una riga.

Accoppiato → disaccoppiato → headless

Dall'accoppiato all'headlessUn monolite accoppiato disegna la propria interfaccia; un sistema disaccoppiato separa il backend da un frontend predefinito sostituibile attraverso un'API; un backend headless serve web, mobile e altre teste soltanto attraverso le API.

Headless

API

API

API

Backend – senza testa

Web

Mobile

Totem, TV, partner…

Disaccoppiato

API

Backend

Frontend predefinito
(sostituibile)

Accoppiato (monolite)

Una sola app: dati, logica
e rendering delle pagine insieme

Un monolite accoppiato disegna la propria interfaccia; un sistema disaccoppiato separa il backend da un frontend predefinito sostituibile attraverso un'API; un backend headless serve web, mobile e altre teste soltanto attraverso le API.

Il settore non è arrivato qui per moda – ci è stato costretto dall’esplosione degli smartphone della fine degli anni 2000. L’HTML generato sul server aveva esattamente un consumatore, il browser; da un giorno all’altro ogni prodotto ha avuto bisogno di app mobile native che l’HTML non poteva alimentare, e i backend hanno dovuto diventare API-first per necessità. Le tappe differiscono per quello che il backend presuppone. Un sistema accoppiato presuppone di disegnare la pagina. Un sistema disaccoppiato presuppone che un frontend esista, ma gli parla attraverso un confine ad accoppiamento debole. Un sistema headless non presuppone nulla – risponde alle chiamate API, e che le consumi una testa o nove non lo riguarda.

Disaccoppiato vs. headless vs. microservizi vs. accoppiato

DimensioneAccoppiato (monolite)DisaccoppiatoHeadlessMicroservizi
Livello di presentazioneIntegrato, obbligatorioPredefinito, sostituibileNessuno – va portato da fuoriNon pertinente – è un pattern di backend
Che cosa è separatoNienteIl frontend dal backendIl frontend dal backend, del tuttoI servizi di backend fra loro
ComunicazioneNello stesso processoAPISolo APIAPI/eventi fra i servizi
Unità di deploymentUnaDueUn backend + N testeMolti servizi
Organizzazione dei teamUn teamTeam front/backIndipendente per testaUn team per servizio
Si combina con–L’headless, più tardiQualunque forma di backend dietro l’APIUn’API headless davanti

L’ultima riga è quella che il dibattito “microservizi vs. headless” si perde: rispondono a domande diverse e si combinano liberamente. Le teste non vedono oltre l’API – il backend dietro di essa può essere una sola applicazione pulita o cinquanta servizi.

CMS headless vs. backend headless

La maggior parte di ciò che si posiziona su “headless” parla di gestione dei contenuti, e proprio per questo la distinzione conta: un CMS headless è API-first per i contenuti – articoli, media, landing page. Un backend headless è API-first per l’intera applicazione: database, autenticazione, archiviazione di file, logica di business, dati in tempo reale. Se un prodotto ha utenti, un CMS headless copre le pagine di marketing e lascia da costruire il backend applicativo – l’80 % più difficile. È lo spazio che occupa il Backend as a Service: il backend completo, già headless, consumato attraverso lo stesso contratto di API e SDK mostrato qui sopra. I due si combinano anche fra loro – molti prodotti tengono un CMS per i contenuti accanto a un BaaS per l’applicazione.

Casi d’uso tipici

  • Un prodotto, molti canali. Web, app mobile e superfici emergenti serviti da un solo backend – il motore canonico.
  • Libertà sul frontend. I team di UI scelgono e sostituiscono i framework senza riscrivere il backend; il contratto protegge i due lati.
  • Velocità dei team in parallelo. I team frontend e backend rilasciano su calendari indipendenti, a partire da un’API concordata.
  • Prodotti mobile-first. Le app sono teste per natura – un prodotto mobile appoggiato a un backend che fa rendering paga i costi di un monolite per niente.
  • Cambio di piattaforma progressivo. Prima si disaccoppia, poi si fa evolvere il backend (o la testa) pezzo per pezzo, invece di riscrivere tutto in un colpo.

Conviene disaccoppiare? Matrice decisionale

Passare a disaccoppiato/headless quando…Restare accoppiati quando…
Esiste più di un frontend, o è in arrivoUn solo sito web è tutto il prodotto
I team frontend e backend rilasciano separatamenteUn piccolo team gestisce tutto
Una UX su misura è un vantaggio competitivoI template bastano
Il backend deve sopravvivere alle riscritture della UILa velocità di lancio conta più della flessibilità
L’accesso all’API è di per sé una feature del prodottoNessuna parte terza chiamerà mai quell’API

La scelta predefinita onesta per un prodotto nuovo: disaccoppiare costa poco se il backend arriva già costruito; costa caro se si costruiscono a mano entrambi i lati del contratto nello stesso momento.

Limiti e trade-off

  • Ogni testa va costruita. Niente template, niente UI predefinita – rendering, routing e stato diventano codice da scrivere, canale per canale.
  • Due pipeline, due deployment. Frontend e backend vengono rilasciati separatamente; e così anche i loro disservizi, le loro versioni e i loro rollback.
  • Il contratto richiede disciplina. Ogni cambiamento dell’API si ripercuote su tutte le teste; versionamento e retrocompatibilità diventano responsabilità permanenti.
  • L’anteprima si complica. Con il rendering fuori dal backend, “che aspetto avrà questa cosa?” richiede di innestare la testa nel ciclo di redazione.
  • La sicurezza si sposta, non svanisce. Il backend guadagna un isolamento, ma l’API pubblica eredita l’esposizione – autenticazione, controllo degli accessi e rate limiting si spostano sulla linea del contratto, e il loro posto è nel livello dei dati, al di sotto.

La metà headless dello stack su Back4app

Back4app è una piattaforma open-source di Backend as a Service (BaaS) che combina database gestito, API REST e GraphQL generate automaticamente, autenticazione, archiviazione di file e funzioni serverless con Cloud Code. È un backend headless per progetto – nessun livello di rendering da nessuna parte, con API generate automaticamente. Le teste si collegano attraverso gli SDK JavaScript, Flutter, Swift e Kotlin (le quattro schede qui sopra mostrano lo stesso backend che parla a quattro teste), e la logica personalizzata gira sul server con Cloud Code, così le regole di business restano dietro l’API, dove ogni testa le eredita. La riserva della matrice decisionale – “disaccoppiare costa poco se il backend arriva già costruito” – è esattamente il prodotto.

Domande frequenti

Che cos'è l'architettura headless?

Un approccio in cui il frontend – la "testa" – è completamente separato dal backend. Il backend espone dati e logica attraverso le API e non disegna mai un'interfaccia utente; un numero qualsiasi di frontend (web, mobile, totem, voce) consuma le stesse API sotto forma di JSON strutturato e lo mostra come preferisce.

Qual è la differenza fra disaccoppiato e headless?

Il grado di separazione. Un sistema disaccoppiato separa il frontend dal backend ma di solito porta ancora con sé un livello di presentazione predefinito, verso il quale i contenuti vengono spinti. Un sistema headless rimuove del tutto la testa: il backend resta in attesa dietro la sua API e non ha opinioni sul rendering. La regola utile: ogni sistema headless è disaccoppiato, ma non ogni sistema disaccoppiato è headless.

Headless è la stessa cosa dei microservizi?

No – tagliano il sistema lungo assi diversi. L'headless separa il frontend dal backend; i microservizi dividono il backend stesso in servizi rilasciabili in modo indipendente. I due si combinano liberamente: un backend headless può essere una sola applicazione ben strutturata oppure una flotta di microservizi dietro un'unica API, e i frontend non notano la differenza.

Come comunicano frontend e backend in un sistema disaccoppiato?

Attraverso un contratto di API – endpoint REST o uno schema GraphQL. Il frontend chiede dati strutturati e riceve JSON; il rendering avviene interamente sul lato client del confine. Quel contratto è il muro portante dell'architettura: i team possono ricostruire liberamente l'uno o l'altro lato finché il contratto tiene.

Che differenza c'è fra un CMS headless e un CMS tradizionale?

Un CMS tradizionale accoppia la gestione dei contenuti e il rendering in un solo sistema – redazione e template di pagina convivono. Un CMS headless archivia contenuti strutturati e li consegna solo attraverso le API, lasciando che qualunque frontend li mostri. Questo risolve la distribuzione dei contenuti, ma un CMS gestisce soltanto contenuti – è una fetta di backend, non il backend.

Che differenza c'è fra un CMS headless e un backend headless (BaaS)?

Il perimetro. Un CMS headless è API-first per i contenuti: articoli, media, pagine di marketing. Un backend headless – il modello Backend as a Service – è API-first per l'intera applicazione: database, autenticazione degli utenti, archiviazione di file, logica di business e query in tempo reale, tutto esposto attraverso API e SDK. Se un prodotto ha bisogno di utenti e di dati applicativi, un CMS da solo lascia la maggior parte del backend da costruire.

Un'architettura disaccoppiata è più sicura?

Il backend guadagna un isolamento (air gap) – non è mai esposto pubblicamente, lo è solo il suo livello di API – e questo riduce la superficie di attacco rispetto a un monolite che disegna direttamente le pagine. Il contrappeso onesto: le API pubbliche creano un lavoro di sicurezza proprio (autenticazione, controllo degli accessi, rate limiting, CORS), quindi il rischio si sposta invece di scomparire. È il controllo degli accessi sul livello dei dati che tiene sotto controllo il rischio spostato.

Quando conviene NON passare all'headless?

Quando uno stack accoppiato rilascia più in fretta e la flessibilità non porta nulla: un sito web semplice a canale unico, un team piccolo senza sviluppatori frontend e backend distinti, oppure contenuti che cambiano raramente. Disaccoppiare costa un contratto di API, due pipeline di deployment e un rendering da costruire in proprio – quel prezzo va pagato solo se più frontend, una UX su misura o la velocità indipendente dei team lo ripagheranno.

Termini correlati

Confronta con

Fonti di approfondimento

Pronto a costruire il tuo backend?

Avvia il tuo progetto su Back4app in pochi minuti: database, autenticazione, API e Cloud Code inclusi. Nessuna carta di credito richiesta.

Scritto e revisionato da Back4app Engineering, Back4app Engineering · Pubblicato il 2026-10-19