Ciao, e benvenuto nella prima puntata della quarantottesima stagione di questo podcast. Nelle stagioni scorse abbiamo raccontato il linguaggio del web e lo strato dei tipi che gli si posa sopra. Oggi saliamo di un livello e parliamo di Next punto jei-esse, che chiamerò semplicemente Next: uno dei framework più importanti per costruire siti e applicazioni moderne. E per capirlo davvero, dobbiamo partire da ciò che gli sta sotto, e dal vuoto che quel qualcosa lascia aperto.
Partiamo da React, perché è il punto di partenza. Sotto Next c'è React, e React è una libreria. Risponde benissimo a una sola domanda: come costruisci un'interfaccia utente a partire da piccoli pezzi, i componenti? Su questo è splendido. Ma poi si ferma. React non ti dice come si mette insieme un'intera applicazione: come passi da una pagina all'altra, dove e quando si costruisce la pagina che l'utente vede, come recuperi i dati, come impacchetti e pubblichi tutto. Ti dà un pennello magnifico e uno studio vuoto. E quella libertà è anche mille decisioni da prendere.
Voglio farti sentire il peso di quelle mille decisioni, perché è il cuore del problema. Quella libertà ha un costo. Ogni squadra che parte da un pennello e uno studio vuoto prende quelle mille decisioni in modo diverso, spesso in modo sbagliato, e sempre da capo. Come si passa tra le pagine? Dove si costruisce l'HTML, sul server o nel browser? Come arrivano i dati? Sono problemi difficili, che si ripresentano identici in ogni progetto, e risolverli male costa fatica e bug. La libreria ti dà libertà e mille scelte; e la libertà, senza struttura, diventa presto un labirinto in cui ci si perde.
Voglio darti cos'è un framework, perché è la risposta a quel vuoto. Next è un framework, ed è un'altra cosa da una libreria. Un framework riempie quel vuoto con delle opinioni. Ti dice: ecco come funziona il passaggio tra le pagine, ecco dove avviene la costruzione della pagina, ecco come recuperi i dati, ecco come si pubblica. La libreria ti dà libertà e mille scelte; il framework ti dà convenzioni e molte meno scelte. Rinunci a un po' di libertà, e in cambio ricevi delle strade già tracciate per i problemi difficili di sempre. È il patto di fondo di ogni framework: meno decisioni tue, più decisioni prese per te. Con una libreria costruisci la tua casa mattone per mattone, liberissimo e solo; con un framework ti trasferisci in una casa già progettata, dove tante scelte sono già fatte, bene, da chi ci ha pensato prima di te. Perdi la libertà di spostare i muri; guadagni di non doverli progettare da zero.
Voglio darti la lente di questa stagione, perché tiene insieme tutto. Ecco come ti chiedo di pensare a Next per dieci puntate. È il framework che continua a spostare il confine tra server e client. È nato come React con l'aggiunta della costruzione sul server e del passaggio tra le pagine. Ma è diventato, sempre di più, un progetto per cancellare la linea tra frontend e backend: scrivere una sola applicazione che vive in due posti. Decide per te dove ogni pezzo gira, e quando viene costruito. E compra questa potenza con due monete: le convenzioni, e la magia.
Voglio essere chiaro su cosa non è questa stagione, perché è importante. Questa non è una stagione su React. React è il pennello, e lo nomineremo solo per quel che serve a capire il resto. Questa è una stagione sul framework che decide come funziona tutto lo studio: dove si dipinge, quando, con quali strade già tracciate. Non impareremo la sintassi, i comandi, le formule: quelli cambiano in fretta e li trovi ovunque. Impareremo il carattere di Next, il suo modo di pensare, le idee di fondo che restano anche quando i dettagli cambiano.
Voglio anticiparti dove andremo, perché il viaggio ha una mappa. Nelle prossime puntate ci chiederemo dove gira ogni pezzo di codice, server o browser. Vedremo che il momento in cui si costruisce la pagina è una scelta. Come si mostra prima e si anima dopo. Come la cartella diventa la mappa del sito. Il pendolo della storia del web, che torna verso il server. E, con onestà, il prezzo della magia, e la domanda che pochi si fanno: ti serve davvero questo framework? Un passo alla volta.
Per oggi ci fermiamo qui. Abbiamo posato le fondamenta. Sotto Next c'è React, una libreria che risponde benissimo a una sola domanda, come costruire l'interfaccia a pezzi, e poi si ferma, lasciando aperte mille decisioni su come si assembla un'intera applicazione. Next è un framework: riempie quel vuoto con delle opinioni, dandoti convenzioni al posto della libertà, strade tracciate al posto di mille scelte. La lente: è il framework che sposta il confine tra server e client, verso una sola applicazione che vive in due posti, e compra questa potenza con convenzioni e magia. Non è una stagione su React, ma sul framework che decide come funziona lo studio. Nella prossima puntata ci facciamo la domanda centrale: dove gira questo codice? Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.