Il frontend è ciò con cui interagisci; il backend gestisce dati, regole e operazioni. La parte interessante è il modo in cui i due livelli comunicano.
Ogni applicazione digitale ha una parte che deve farsi capire da una persona e una parte che deve far funzionare il sistema. Per comodità le chiamiamo frontend e backend.
La distinzione non descrive due mondi completamente separati, ma due responsabilità. Il frontend gestisce l’interazione; il backend gestisce dati, logica e servizi.
Il frontend è la parte del prodotto che viene eseguita e mostrata sul dispositivo dell’utente: pagine, pulsanti, menu, form, animazioni e componenti interattivi.
Nel web viene costruito soprattutto con HTML, CSS e JavaScript, spesso attraverso framework che organizzano interfacce complesse. Il suo lavoro non è soltanto “essere bello”: deve tradurre lo stato del sistema in qualcosa che l’utente possa capire e controllare.
Il backend è l’insieme di servizi che riceve richieste, applica regole, controlla permessi, legge e scrive dati e restituisce risultati. Può essere composto da uno o molti server, funzioni cloud, code, cache e database.
Quando fai login, pubblichi un commento o completi un pagamento, gran parte del lavoro avviene qui.
Il collegamento passa spesso da una API. Il frontend invia una richiesta strutturata; il backend la elabora e restituisce dati o un risultato.
Questo permette di separare l’interfaccia dalla logica. Lo stesso backend può servire sito web, app mobile e altri client, purché condividano le regole di comunicazione.
Il database conserva utenti, ordini, contenuti, configurazioni e molti altri dati. Il backend decide come leggerli e modificarli.
Lasciare che il frontend acceda direttamente al database sarebbe spesso pericoloso: autorizzazioni e regole di business devono essere controllate da un livello intermedio.
In un’app moderna, il browser può caricare l’interfaccia, richiedere dati al backend, ricevere una risposta e aggiornare solo una parte dello schermo. In altri casi il server genera già una pagina completa.
Non esiste quindi un’unica architettura. Nella guida su come funziona un’app abbiamo visto che il prodotto reale è spesso una catena di molti servizi.
Separare responsabilità consente a team diversi di lavorare su interfaccia e infrastruttura, permette di riutilizzare servizi e rende più chiaro dove applicare controlli di sicurezza.
Ma introduce anche complessità: rete, autenticazione, sincronizzazione dello stato, errori e compatibilità tra versioni.
Frontend come sala e backend come cucina è una metafora utile, ma il software moderno è più simile a una rete di cucine collegate. Un’app può dipendere da sistemi di pagamento, identità, mappe, notifiche e servizi esterni.
Capire frontend e backend serve proprio a questo: smettere di vedere l’app come una schermata e iniziare a vederla come un sistema.