Sviluppo backend

Node.js backend: da dove iniziare, passo per passo

di Marcello Pasqui, fondatore di InsightLearn · 11 settembre 2026 · 9 min di lettura

Node.js è un ambiente di esecuzione JavaScript open source e multipiattaforma: esegue il motore V8 fuori dal browser e permette di scrivere il lato server nello stesso linguaggio del frontend. Per iniziare con il backend servono quattro cose, in quest'ordine: basi solide di JavaScript asincrono, il modello dell'event loop, un primo server senza framework e poi Express per rotte, middleware e API REST.

Chi cerca «Node.js backend» di solito ha già scritto un po' di JavaScript nel browser e vuole capire come si passa al server. Questa guida segue quel percorso: che cos'è Node.js e che cosa non è, quanto JavaScript serve davvero, quale versione installare, il modello mentale da acquisire prima di tutto il resto, il primo server in poche righe, Express e i principi con cui si progetta un'API. In fondo trovi un percorso in cinque passi collegato ai corsi del catalogo.

Che cos'è Node.js (e che cosa non è)

La documentazione ufficiale definisce Node.js un ambiente di esecuzione (runtime) JavaScript open source e multipiattaforma, che esegue il motore V8 — il cuore di Google Chrome — fuori dal browser. Non è quindi un linguaggio nuovo, e non è nemmeno un framework: il linguaggio resta JavaScript, e i framework come Express si installano sopra Node.js.

La caratteristica che conta per il backend è il modo in cui gestisce le richieste. Sempre secondo la documentazione, un'applicazione Node.js gira in un solo processo, senza creare un nuovo thread per ogni richiesta, e la libreria standard offre primitive di I/O asincrone che evitano di bloccare il codice. Quando Node.js legge dalla rete, da un database o dal filesystem, invece di restare fermo ad aspettare riprende l'operazione quando arriva la risposta. Il vantaggio pratico citato dalla documentazione è che chi scrive JavaScript per il browser può scrivere anche il codice lato server senza imparare un linguaggio completamente diverso.

Quanto JavaScript serve prima di iniziare

Non serve conoscere tutto il linguaggio, ma alcune parti sono imprescindibili perché il backend Node.js è quasi interamente asincrono:

Se su questi punti hai dubbi, conviene colmarli prima: è anche il requisito che il nostro corso Node.js Backend Development indica esplicitamente («conoscenza base JavaScript»).

Quale versione installare: perché LTS

Il primo dubbio pratico è quale versione scaricare. La pagina ufficiale sui rilasci è netta: le applicazioni in produzione dovrebbero usare solo versioni Active LTS o Maintenance LTS. LTS significa long-term support: secondo la stessa pagina, di norma garantisce la correzione dei bug critici per un totale di 30 mesi.

Ogni nuova versione principale resta sei mesi in stato Current, per dare tempo agli autori delle librerie di supportarla. Storicamente — fino a Node.js 26 — le versioni dispari smettevano di essere supportate dopo quei sei mesi e solo quelle pari passavano in LTS; la pagina annuncia che da Node.js 27 il ciclo diventa annuale e ogni versione principale passerà in LTS. Per chi inizia la regola resta semplice: installa la versione indicata come LTS sul sito ufficiale e impara su quella.

Il modello mentale: event loop e I/O non bloccante

È il concetto da capire prima di scrivere codice serio, perché spiega quasi tutti gli errori dei principianti. La documentazione Node.js chiama bloccante la situazione in cui l'esecuzione di altro JavaScript deve aspettare che finisca un'operazione non JavaScript, come un accesso al disco o alla rete: succede perché l'event loop non può continuare a eseguire JavaScript mentre è in corso un'operazione bloccante.

L'esecuzione di JavaScript in Node.js è a thread singolo, quindi la concorrenza dipende dalla capacità dell'event loop di eseguire le callback dopo aver completato altro lavoro. La documentazione porta un esempio concreto: se ogni richiesta a un server web richiede 50 ms e 45 di questi sono I/O verso il database che può essere svolto in modo asincrono, scegliere operazioni non bloccanti libera quei 45 ms per servire altre richieste.

Due conseguenze pratiche da tenere a mente:

Il primo server, senza framework

Il «Hello World» più comune di Node.js, secondo la documentazione, è proprio un server web. Bastano il modulo http della libreria standard e poche righe:

const { createServer } = require('node:http');

const hostname = '127.0.0.1';
const port = 3000;

const server = createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

Si salva come server.js e si avvia con node server.js. Vale la pena scriverlo almeno una volta a mano prima di passare a un framework: si vede che cosa fa davvero il server — riceve una richiesta, imposta codice di stato e intestazioni, scrive la risposta — e si capisce che cosa un framework come Express aggiunge sopra.

Express: routing e middleware

Express si presenta come un framework web per Node.js veloce, minimalista e che non impone una struttura. Aggiunge due concetti che ritroverai in quasi ogni backend Node.js:

L'esempio minimo della documentazione Express:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`);
});

Il server risponde «Hello World!» alla radice / e con un 404 Not Found a ogni altro percorso. L'errore più tipico all'inizio riguarda i middleware: la documentazione avverte che, se un middleware non chiude il ciclo richiesta-risposta, deve chiamare next(), altrimenti la richiesta resta appesa.

Dalle rotte alle API REST

Con rotte e middleware si costruisce un'API. Le API REST organizzano i dati in risorse identificate da URL (per esempio /courses e /courses/42) e usano i metodi HTTP per dire che cosa fare su quella risorsa. La specifica di riferimento della semantica HTTP, la RFC 9110, fissa due proprietà che conviene conoscere fin dall'inizio:

Metodi HTTP più usati in un'API (proprietà da RFC 9110, sezioni 9.2.1 e 9.2.2)
MetodoUso tipico in un'APISicuroIdempotente
GETLeggere una risorsa o un elencoSìSì
POSTCreare una risorsa o avviare un'elaborazioneNoNo
PUTSostituire lo stato di una risorsaNoSì
DELETEEliminare una risorsaNoSì

«Sicuro» significa che il metodo è pensato per sola lettura; «idempotente» che ripetere la stessa richiesta più volte ha lo stesso effetto voluto di una richiesta sola. In pratica: un GET non deve mai modificare dati, e un client può ritentare in sicurezza un PUT o un DELETE andato in timeout, mentre ritentare un POST può creare un duplicato. L'ultimo tassello è il database: nel nostro corso l'API viene collegata a MongoDB, ma i principi di rotte, metodi e middleware restano gli stessi con qualunque database.

Un percorso in cinque passi

Messi in fila, i passaggi di questa guida diventano un percorso di studio. Per ogni passo indichiamo il corso del catalogo InsightLearn che lo copre, con i dati dichiarati nella scheda del corso:

Percorso Node.js backend e corsi collegati (livello e temi dalla scheda di ciascun corso)
PassoObiettivoCorso collegato
1JavaScript moderno: async/await, moduli, classiJavaScript Moderno ES2024 — intermedio
2Primi passi con Node.js, Express e MongoDBNode.js Backend Development - Fondamenti Essenziali — principiante
3API RESTful con Node.js, Express e MongoDBNode.js Backend Development — intermedio, 6 lezioni
4Collegare un frontend React al backend Node.jsFull Stack con React e Node — intermedio
5Un progetto tuo: una piccola API con rotte, middleware e databaseNessun corso: è il passo che consolida gli altri

Se parti da zero anche con il web, prima del passo 1 c'è Web Development con HTML, CSS e JavaScript, di livello principiante.

Fonti

Domande frequenti

Node.js è un linguaggio di programmazione?

No. Node.js è un ambiente di esecuzione open source e multipiattaforma che esegue codice JavaScript fuori dal browser, usando il motore V8. Il linguaggio resta JavaScript: Node.js aggiunge la libreria standard per rete, file e processi che serve a scrivere un backend.

Quanto JavaScript devo sapere per iniziare con Node.js backend?

Servono le basi del linguaggio più la parte asincrona: funzioni e callback, Promise, async/await, moduli e oggetti JSON. Il backend Node.js è quasi interamente asincrono, quindi queste parti vanno capite prima di passare a Express.

Quale versione di Node.js conviene installare?

Una versione LTS. La pagina ufficiale dei rilasci indica che le applicazioni in produzione dovrebbero usare solo versioni Active LTS o Maintenance LTS, che di norma ricevono correzioni dei bug critici per 30 mesi. Imparare direttamente su una LTS evita di dover cambiare versione quando si passa a un progetto reale.

Express è obbligatorio per fare backend con Node.js?

No. Con il solo modulo http della libreria standard si può creare un server web in poche righe. Express è un framework minimalista che aggiunge routing e middleware, e per questo è un punto di partenza molto diffuso per costruire API REST; conviene però scrivere almeno una volta un server senza framework per capire che cosa Express fa per te.

Vai al corso Node.js