Ciao, e benvenuto nella terza puntata della cinquantottesima stagione. Oggi torniamo sul primo pilastro di Nuxt, quello che si sente fin dal primo minuto d'uso e che cambia il modo di lavorare: le convenzioni al posto della configurazione. Oggi parliamo di come la struttura delle cartelle diventa, da sola, l'applicazione.
Partiamo dal problema che risolve, perché senza convenzioni il lavoro è tedioso. Immagina di costruire un'applicazione con la sola libreria. Vuoi che l'indirizzo barra chi-siamo mostri una certa pagina, e barra contatti un'altra. Con la sola libreria, devi scrivere a mano una tabella che collega ogni indirizzo alla sua pagina, e tenerla aggiornata ogni volta che aggiungi, togli o rinomini qualcosa. È un lavoro noioso, ripetitivo, e una fonte continua di piccoli errori di distrazione. Moltiplicalo per decine di pagine, e capisci quanto tempo se ne va in pura impalcatura, prima ancora di scrivere qualcosa di utile.
Voglio darti la soluzione, perché è di una semplicità disarmante. Nuxt elimina tutto questo con un'idea sola: la struttura delle cartelle è la mappa dell'applicazione. Crei un file chiamato chi-siamo nella cartella delle pagine, e automaticamente esiste l'indirizzo barra chi-siamo, che mostra quella pagina. Non scrivi nessuna tabella, non colleghi niente: la posizione del file nella cartella è già l'istruzione. Vuoi una nuova pagina? Crei un file. Vuoi cambiarne l'indirizzo? Rinomini il file. La mappa delle pagine si costruisce da sola, semplicemente da come organizzi le cartelle. Il tuo progetto, guardato dall'alto, racconta già la sua struttura.
Voglio darti la seconda comodità, perché toglie un'altra fatica. Nuxt fa un secondo regalo, che si chiama importazioni automatiche. Nella programmazione normale, prima di usare un pezzo di codice scritto altrove, devi dichiarare in cima al file che vuoi usarlo, che lo stai richiamando da quella posizione. È una piccola formalità, ma la ripeti centinaia di volte al giorno. Nuxt la fa sparire: se hai un componente o una funzione riutilizzabile nella cartella giusta, la usi e basta, come se fosse sempre stata lì. Nuxt capisce da solo dove trovarla e la porta dove serve. Scrivi meno, e il codice resta più pulito.
Voglio darti l'immagine che rende chiara questa idea, perché la fissa. Pensa a un laboratorio artigiano tenuto in ordine perfetto. Ogni attrezzo ha il suo posto preciso, etichettato sulla parete: i martelli qui, i cacciaviti là, le viti nei cassetti giusti. In un laboratorio così, non perdi tempo a decidere dove mettere le cose o a cercarle: le convenzioni sono chiare, e tu lavori e basta. Un laboratorio caotico, dove ognuno mette gli attrezzi dove capita, ti costringe invece a ragionare e a cercare a ogni singola operazione. Le convenzioni di Nuxt sono quel laboratorio ordinato: un posto giusto per ogni cosa, deciso una volta per tutte, così la tua energia va nel lavoro, non nell'organizzarlo.
Voglio darti il patto onesto, perché ogni comodità ha un prezzo. Ma attenzione, perché qui si nasconde la faccia magica di Nuxt. Tutte queste cose che accadono da sole, le rotte che spuntano dai file, il codice importato senza chiederlo, sono comodissime quando conosci le regole. Ma per chi non le conosce, sono magia pura: le cose funzionano, e non è affatto ovvio il perché. Da dove arriva questo componente che non ho mai importato? Perché esiste questo indirizzo che non ho mai dichiarato? Chi accetta le convenzioni senza capirle si trova a lavorare in un mondo che si comporta in modi che non sa spiegare, e quando qualcosa si rompe, non sa nemmeno da dove cominciare a guardare.
Voglio darti la lezione generale, perché vale ovunque. La lezione è che le convenzioni sono un patto: tu rinunci a un po' di libertà, e in cambio ottieni velocità e ordine. È quasi sempre un ottimo affare, a una condizione: che tu conosca le convenzioni che stai accettando. Una convenzione capita è uno strumento potentissimo. Una convenzione subita è una scatola nera che ti aiuta finché va tutto bene, e ti paralizza nel momento esatto in cui smette. La comodità di non dover configurare non ti esonera dal dovere di sapere cosa il framework sta configurando al posto tuo.
Per oggi ci fermiamo qui. Abbiamo visto il primo pilastro: le convenzioni al posto della configurazione. Con la sola libreria, dovresti scrivere e mantenere a mano la tabella che collega ogni indirizzo alla sua pagina: noioso e fragile. Nuxt lo elimina con un'idea sola: la struttura delle cartelle è la mappa dell'applicazione, e un file nella cartella giusta diventa da solo una pagina raggiungibile. In più, le importazioni automatiche: usi componenti e funzioni senza doverli richiamare a mano. Come un laboratorio ordinato dove ogni attrezzo ha il suo posto. Con un patto onesto: le convenzioni sono un affare solo se le conosci, altrimenti diventano magia che non sai spiegare. Nella prossima puntata: il motore nascosto, quando Nuxt diventa anche il backend. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.