Cos’è un back end?
Back end e front end indicano due livelli di un software, indipendenti e che si completano a vicenda. Pensando a un software come se fosse un’automobileil back end comprende telaio, motore, impianto elettrico, freni e altri componenti meccanici. Seguendo questa analogia, il front end sarebbe invece l’abitacolo con volante, cruscotto e le altre funzioni di comando e comfort.
Il back end è l’area di un sito web o di un’app che si trova in background e che è protetta dall’accesso da parte degli utenti. La memorizzazione e l’elaborazione dei dati avvengono nel back end.
Che cosa costituisce un back end?
Il termine inglese “back end” significa più o meno ”zona sul retro” o “fondamento”. In questa zona avvengono tutte quelle attività che si svolgono dietro le quinte.
Per back end si intendono nel linguaggio comune due cose diverse:
- Il livello di un software sul quale ha luogo l’elaborazione dei dati.
- Un’area di amministrazione protetta dall’accesso degli utenti normali.
Un software è paragonabile a una macchina per l’elaborazione dei dati. Qui vengono eseguiti calcoli i cui risultati determinano il funzionamento del software. I dati vengono generati e memorizzati utilizzando in particolare database come MongoDB e MySQL. Il tutto si svolge in background.
A differenza del front end, che è pensato su misura per un utente umano, un back end è realizzato sulla base di requisiti tecnici. L’attenzione è rivolta a efficienza e prestazioni, nonché alla scalabilità e alla sicurezza.
Seguendo il principio di sviluppo “Separation of concerns”, traducibile in italiano con “separazione delle problematiche”, back end e front end vengono realizzati sotto forma di livelli indipendenti. Per garantire la piena funzionalità di un software, sono necessari sempre entrambi i livelli. Un back end senza front end è come una macchina senza pulsanti.
In questo articolo dettagliato ti spieghiamo la differenza tra back end e front end.
Chi lavora sul back end?
È possibile identificare due diversi gruppi di utilizzo che lavorano con il back end:
- Amministratori, che gestiscono un sistema dopo aver eseguito l’accesso al back end.
- Sviluppatori del back end, che si occupano della creazione, della manutenzione e del perfezionamento dei back end.
Diamo un’occhiata al modo in cui entrambi i gruppi lavorano sul back end.
Come lavorano gli amministratori sul back end?
Il lavoro sul back end è facile da spiegare prendendo l’esempio del noto CMS WordPress. Attraverso il login admin di WordPress si accede al back end del CMS, noto anche come dashboard/bacheca di WordPress. Qui hai a tua disposizione un’interfaccia dedicata per creare, modificare ed eliminare i contenuti.
Utilizza il servizio di Hosting WordPress Gestito di IONOS per rendere sicuro e veloce il tuo sito web WordPress.
Oltre a queste classiche operazioni CRUD, gli amministratori di WordPress gestiscono nel back end i ruoli utente di WordPress e utilizzano ad esempio plugin di WordPress per proteggere il sito web e per altre attività amministrative.
Anche se è detta “back end”, la dashboard di WordPress è un’interfaccia grafica utente. In questo caso, il passaggio tra back end e front end si nota meno.
Come lavorano gli sviluppatori e le sviluppatrici sul back end?
A differenza degli amministratori, gli sviluppatori e le sviluppatrici del back end non eseguono l’accesso a questa area per svolgere il loro lavoro. Al contrario, operano in un ambiente di sviluppo locale. Qui scrivono il codice sorgente da eseguire sul server o sul container del back end.
Dopo aver eseguito dei test, principalmente automatizzati, si utilizzano degli strumenti di Continuous Integration per caricare il codice come implementazione sul server. In alternativa, si utilizzano soluzioni tramite plugin: in questo caso vengono sviluppati plugin di WordPress che girano nel back end, ma che possono essere gestiti dagli amministratori e dalle amministratrici.
A differenza del front end, che viene eseguito sul client, il back end gira sul server. Di solito, per lo sviluppo e l’esecuzione si utilizza un insieme di tecnologie detto “stack web”. Alcuni tra gli stack web più noti sono LAMP e MEAN. Ne esistono comunque molti altri.
Uno stack web è composto da un sistema operativo o da un container come ambiente di esecuzione. Al suo interno gira un programma server che riceve e risponde continuamente alle richieste. A tal fine vengono eseguiti degli script in un linguaggio di programmazione web che funge da elemento di collegamento fra server e database:
Stack web | Ambiente di esecuzione | Server | Database | Linguaggio |
---|---|---|---|---|
LAMP | Linux | Apache | MySQL | PHP |
MEAN | Node.js | Express.js | MongoDB | Angular (JavaScript) |
Gli sviluppatori e le sviluppatrici del back end utilizzano spesso i framework web per agevolare il richiamo, l’elaborazione e il salvataggio dei dati. Nelle parti seguenti ti presentiamo una panoramica dei principali framework back end.
Lo sapevi? I programmatori professionisti che operano nello sviluppo di back end e front end sono detti “full-stack developer”.
Quali sono i principali framework back end?
I framework facilitano il lavoro nello sviluppo del back end. Grazie al loro utilizzo è possibile evitare di riscrivere ogni volta da zero processi ricorrenti come l’autenticazione degli utenti e il collegamento con un database. Parte integrante dei framework back end sono anche il supporto multilingue e un linguaggio per i template per la generazione del codice HTML emesso sul front end.
La scelta dello specifico framework back end dipende molto dall’ambiente di programmazione e dal linguaggio di programmazione utilizzati. I linguaggi utilizzati più spesso sono PHP o Python, Ruby, JavaScript e Java. Diamo un’occhiata ai framework back end più diffusi per questi linguaggi.
Symfony e Laravel: i più importanti framework back end in PHP
Symfony e Laravel sono due dei framework back end più diffusi. Entrambi permettono di programmare complesse applicazioni web senza dover partire da zero. Laravel è considerato più facile e veloce da apprendere, mentre Symfony è più potente e flessibile.
Entrambi i sistemi sono noti per la loro struttura modulare. Dal framework PHP Symfony sono nate molte utili tecnologie web. Anche il suo concorrente Laravel ha contribuito allo sviluppo con i suoi template Laravel Blade.
Impara a programmare applicazioni web con PHP in autonomia. Scopri il nostro vasto tutorial PHP.
Ruby on Rails: un grande classico dei framework back end MVC
Il framework back end Ruby on Rails (RoR) è stato visto come rivoluzionario sin dalla sua comparsa e ha contribuito alla marcia trionfale del linguaggio di scripting Ruby. È difficile trovare un altro framework che abbia posto l’accento così tanto sulla produttività e sulla soddisfazione degli sviluppatori. RoR ha reso popolare l’approccio Model-View-Controller (MVC), aprendo la strada a molti framework back end successivi.
Programmare in Python con il framework back end Django
Python è uno dei classici linguaggi di scripting web. Django mette a tua disposizione un potente framework back end per programmare velocemente nuove applicazioni web. Questo framework segue il principio Model-View-Controller e dispone di un template engine integrato.
Segui il nostro tutorial su Python e impara le basi di questo linguaggio di scripting.
Scrivere applicazioni web in JavaScript con Express e Node.js
Tradizionalmente si faceva distinzione tra linguaggi di programmazione front end e back end. Ai linguaggi front end HTML, JavaScript e CSS si contrapponevano i linguaggi back end PHP, Python, Perl e Ruby. L’arrivo dell’ambiente di esecuzione JavaScript Node.js è stato una rivoluzione. Da quel momento era diventato possibile utilizzare JavaScript sia per il front end sia per il back end.
Node.js crea la base per la scrittura di applicazioni web in JavaScript. Su questa base si innesta di norma un framework web come Express. Questa combinazione è diventata famosa come parte dello stack MEAN con MongoDB e con il framework front end Angular.
Scrivere applicazioni web in Java con il framework back end Spring
Di per sé, Java non è un linguaggio che permette di realizzare moderne applicazioni web. Il framework Spring costituisce tuttavia una base solida per lo sviluppo di complesse applicazioni Java. Gli sviluppi più recenti, come Quarkus, consentono un’esecuzione ad alte prestazioni all’interno di container.
Scopri come creare le tue app Java con il framework Spring. Troverai tutte le informazioni del nostro tutorial su Spring Boot.