Sviluppo web
Frontend e backend: cosa sono e come collaborano.
Il frontend è la parte di un’applicazione con cui interagisci. Il backend gestisce le richieste, applica le regole di lavoro e accede ai dati. Insieme permettono, per esempio, di compilare un ordine e salvarlo in un gestionale.
Di Alessandro Negru · Sviluppatore software · · 4 min di lettura
01 / L’interfaccia
Cos’è il frontend
Il frontend comprende le schermate, i menu, i moduli e i messaggi che una persona usa per lavorare con un sito o un’applicazione. Nel browser, HTML struttura i contenuti, CSS ne definisce l’aspetto e JavaScript aggiunge le interazioni.
In un gestionale ordini, il frontend è la tabella che consulti, il filtro per cercare un cliente e il modulo per inserire una nuova richiesta. Il suo compito è rendere queste operazioni comprensibili e utilizzabili anche da telefono, con tastiera o con tecnologie assistive.
Per interfacce articolate uso anche React e TypeScript. La scelta dipende dalle interazioni necessarie: una pagina informativa e un pannello operativo hanno esigenze diverse.
02 / Le regole di lavoro
Cos’è il backend
Il backend è la parte che lavora sul server. Riceve richieste, verifica l’identità e i permessi, controlla i dati e applica le regole dell’applicazione. Può leggere e aggiornare un database, comunicare con servizi esterni e avviare attività in background.
Quando salvi un ordine, deve verificare che tu abbia il permesso di crearlo, che il cliente esista e che quantità e prezzi siano validi. Questi controlli devono avvenire sul server: un controllo nel browser aiuta l’utente, ma può essere aggirato.
Il database è il sistema che conserva le informazioni; il backend decide come accedervi. Per queste attività uso, a seconda del progetto, Django REST e PostgreSQL. Per elaborazioni lunghe, come report o invii pianificati, possono entrare in gioco code di lavoro.
Le differenze, a colpo d’occhio
| Aspetto | Frontend | Backend |
|---|---|---|
| Obiettivo | Far consultare e inserire informazioni | Gestire dati, permessi e regole |
| Esempio | Modulo per un nuovo ordine | Verifica e salvataggio dell’ordine |
| Tecnologie tipiche | HTML, CSS, JavaScript, React | Python, Django, PHP, Symfony |
| Controlli | Segnala campi mancanti all’utente | Valida la richiesta e autorizza l’operazione |
La distinzione riguarda le responsabilità. Non obbliga a realizzare due applicazioni separate: un framework può generare le pagine sul server e gestire anche la logica del backend.
Dal clic al risultato.
Immagina di inserire un ordine in un gestionale. Il flusso può essere questo:
Compili il modulo
Il frontend raccoglie cliente, articoli e quantità e ti segnala eventuali campi mancanti.
Invii la richiesta
Il browser comunica i dati al server. In un’applicazione con API, usa un’interfaccia concordata tra frontend e backend.
Il server verifica
Il backend controlla permessi e dati, applica le regole e registra l’ordine nel database.
Ricevi una risposta
Il frontend mostra la conferma e aggiorna l’elenco, oppure spiega l’errore e come correggerlo.
Un’API definisce come un software può chiedere dati o operazioni a un altro. Può servire sia all’interfaccia del gestionale sia a un’integrazione con l’e-commerce. L’accesso deve comunque essere protetto: conoscere l’indirizzo di un’API non equivale ad avere il permesso di usarla.
Serve sempre un backend?
Una pagina che presenta un’attività può essere statica. Account, dati condivisi e operazioni riservate richiedono invece funzionalità lato server, che possono essere sviluppate su misura oppure fornite da servizi esterni. La scelta parte dalle funzionalità, non dal nome di una tecnologia.
05 / Esperienza sul campo
Un esempio: Do Eat Better
Nel progetto Do Eat Better ho contribuito all’evoluzione di una piattaforma per la gestione operativa dei food tour. Il lavoro ha incluso la manutenzione del backend Django e lo sviluppo di nuove interfacce React per admin e operatori.
È un esempio di come le due parti possano evolvere con tempi diversi: migliorare le schermate richiede attenzione ai flussi esistenti e alle informazioni che il backend mette a disposizione. Celery e Redis sono stati affiancati per gestire attività asincrone, senza affidare ogni elaborazione alla richiesta dell’utente.
Il progetto Do Eat BetterCosa significa full stack?
Uno sviluppatore full stack lavora sia sul frontend sia sul backend, curando anche il collegamento tra le due parti. L’organizzazione del lavoro dipende dalla dimensione del progetto: possono essere coinvolte persone diverse, con competenze specifiche su interfaccia, dati, infrastruttura e sicurezza.
Cosa chiedere per il tuo progetto
Prima di scegliere strumenti o chiedere un preventivo, descrivi chi userà l’applicazione e quali operazioni dovrà svolgere. Queste domande aiutano a definire sia l’interfaccia sia le regole dietro le quinte:
- Quali utenti ci saranno e quali dati potrà vedere o modificare ciascuno?
- Quali attività devono essere semplici da eseguire, anche da telefono?
- L’applicazione deve collegarsi a un gestionale, a un e-commerce o ad altri servizi?
- Chi seguirà manutenzione, backup e aggiornamenti dopo il rilascio?
Un’interfaccia curata e una gestione affidabile dei dati fanno parte dello stesso risultato. Nel preventivo è utile rendere espliciti funzionalità, integrazioni e gestione successiva, così il progetto risponde alle esigenze di chi lo userà.
Per approfondire
Per le basi tecniche: introduzione allo sviluppo lato server su MDN (in inglese). Per gli strumenti che uso: tecnologie e progetti collegati.
Stai valutando da dove iniziare? Leggi anche perché la tua attività può aver bisogno di un sito web.