Ciao, e benvenuto nella settima puntata della quarantanovesima stagione. Oggi raccontiamo un capitolo vero della vita di Vue, di come lo strumento è cresciuto e perché. Vue offre due modi diversi di scrivere un componente, e la storia del perché ne esistono due insegna qualcosa di prezioso, sull'organizzare il codice e sul crescere. Oggi capiamo i due modi di scrivere Vue, e perché è cambiato.
Partiamo dal modo originale, perché è il punto di partenza. Il modo originale organizza un componente per tipo di cosa. C'è un posto per i tuoi dati, un posto per le tue funzioni, un posto per i valori calcolati: tutto smistato in scomparti etichettati, per categoria. Questo è bellissimo per chi comincia: un principiante sa esattamente dove va ogni tipo di cosa. I dati? Nel cassetto dei dati. Una funzione? Nel cassetto delle funzioni. È ordinato, prevedibile, rassicurante: si intona perfettamente con l'avvicinabilità di Vue, il suo pilastro gentile.
Voglio darti il dolore che è emerso, perché è la molla del cambiamento. Ma man mano che i componenti crescevano, è emerso un dolore. Il codice di una singola funzionalità finiva sparpagliato in tutti quei cassetti. I dati di quella funzionalità nel cassetto dei dati, la sua logica nel cassetto delle funzioni, i suoi valori calcolati altrove ancora. Così, per capire una sola funzionalità, dovevi saltellare per tutto il file, di cassetto in cassetto. E riusarla altrove, prenderla di peso e portarla in un altro componente, era scomodo, perché era sparsa dappertutto. Ciò che è imparabile in piccolo diventa un labirinto in grande.
Voglio darti la seconda via, perché è la risposta a quel dolore. Così Vue ha aggiunto un secondo modo, che organizza per funzionalità, invece che per categoria. Tieni tutto il codice di una cosa logica insieme, a prescindere dalla categoria: i suoi dati, la sua logica, i suoi calcoli, tutti vicini. E, cosa cruciale, puoi estrarlo in una funzione riutilizzabile, da condividere tra più componenti. È l'intuizione del componente in un file, quella di due puntate fa, portata dentro il singolo componente: metti insieme ciò che cambia insieme, anche qui, a un livello più fine.
Voglio essere onesto sul costo, perché c'è, e la comunità l'ha sentito. Va detto con onestà: ora ci sono due modi di fare la stessa cosa. Che è più roba da imparare, e per un po' ha diviso la comunità: quale usare? Il vecchio o il nuovo? È stato un dibattito vero, a volte acceso. Avere due strade per lo stesso posto non è gratis: chi arriva deve capire perché ce ne sono due, e quando usare l'una o l'altra. La ricchezza di scelta è anche un piccolo peso, un bivio in più davanti a chi comincia.
Voglio darti la verità equilibrata, perché è la cosa giusta. La verità serena è questa: il modo più vecchio è spesso delizioso per i componenti piccoli, dove tutto sta comodo nei suoi cassetti. Il modo nuovo brilla per quelli grandi, e per il riuso, dove tenere insieme una funzionalità e portarla via ripaga. E Vue maturo usa quello giusto per la taglia. Non uno vince sull'altro in assoluto: ognuno è a casa sua in una scala diversa. È di nuovo la bussola dello strumento giusto per il problema, applicata dentro lo stesso framework.
Voglio darti l'immagine che rende chiara questa idea, perché la vivi. Pensa a come organizzi i tuoi appunti. Quando ne hai pochi, ordinare per categoria funziona benissimo: tutti i numeri di telefono qui, tutti gli indirizzi là. Ma quando ne accumuli tanti, su più progetti diversi, passi a una cartella per progetto, ciascuna con dentro tutto ciò che riguarda quella cosa, perché ora il progetto è l'unità in cui pensi. E puoi consegnare un'intera cartella a un collega. La categoria è comoda in piccolo; il progetto vince in grande.
Voglio trarre la lezione generale, perché va oltre Vue. La lezione è che come dovresti organizzare le cose dipende dalla scala, e da cosa riusi. Ordinare per categoria è il più amichevole quando le cose sono poche; ordinare per funzionalità vince quando crescono e devi spostare intere funzioni. Uno strumento che matura si ritrova spesso a dover offrire entrambi, e la risposta onesta alla domanda quale è giusto è: a che taglia sei? Non c'è un vincitore assoluto, c'è la taglia in cui ti trovi, e l'organizzazione che a quella taglia ti serve.
Per oggi ci fermiamo qui. Abbiamo raccontato i due modi di scrivere Vue, e perché sono due. Il modo originale organizza per categoria, un cassetto per i dati, uno per le funzioni: ordinato e perfetto per chi comincia. Ma coi componenti grandi, il codice di una funzionalità finiva sparso in tutti i cassetti, difficile da seguire e da riusare. Così è arrivato il modo nuovo, che organizza per funzionalità: tutto ciò che riguarda una cosa insieme, ed estraibile per riusarlo, l'intuizione del componente in un file portata dentro il componente. Il costo, onesto: due modi da imparare, e una comunità divisa per un po'. La verità: il vecchio brilla in piccolo, il nuovo in grande, e maturi usando quello giusto per la taglia. Come gli appunti, per categoria in pochi, per progetto in tanti. La lezione: come organizzare dipende dalla scala e dal riuso. Nella prossima puntata, la magia che a volte non vedi. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.