React – https://reactjs.org/ – è tra le più popolari librerie JavaScript lato client utilizzate per costruire interfacce utente moderne e reattive per il web, ma cosa significa esattamente il termine reattive?
Consideriamo il sito di Netflix: questo sito rappresenta una applicazione web altamente reattiva la cui esperienza di navigazione si avvicina molto a quella che si potrebbe avere con l’applicazione mobile. Semplice da utilizzare, non dobbiamo mai aspettare che il sito carichi nulla; le transazioni, veloci e fluide, annullano l’attesa del caricamento di nuovi contenuti.
Tradizionalmente, un link cliccato all’interno di una pagina inviava una richiesta al server per ottenerne una nuova. Questo ciclo di richiesta e risposta produceva tempi di attesa relativamente lunghi e aggiornamenti di pagine piuttosto fastidiosi. Attraverso JavaScript, ormai da qualche tempo, questo ciclo si è finalmente interrotto.
Il ruolo di JavaScript
JavaScript esegue direttamente la logica nel browser e manipola ciò che viene mostrato all’utente senza dover richiedere una nuova pagina HTML. Più in dettaglio, JavaScript opera sugli elementi costitutivi della pagina scaricata; tali elementi HTML si combinano insieme in un modello di struttura chiamato DOM (Document Object Model) per essere visualizzati sullo schermo.
Perché utilizzare React?
A questo punto, la prima osservazione che ci viene spontanea è: se React si comporta come un elemento aggiuntivo in quanto libreria JavaScript, perché utilizzarlo? La risposta è molto semplice: React ci aiuta a costruire interfacce utente moderne e reattive per i siti web. Infatti, mentre con JavaScript saremmo costretti a scrivere tutti i passaggi di ciascuna funzionalità che vorremmo implementare, dovendo così reinventare la ruota a ogni nuova implementazione; con React abbiamo a disposizione caratteristiche che ci consentono di risparmiare tempo prezioso. Tra queste peculiarità una è di rilevanza fondamentale: i componenti.
L’importanza dei componenti
React consente di suddividere un’applicazione in piccoli blocchi riutilizzabili e in grado di garantire un elevato grado di facilità nella manutenzione e nella gestione dell’applicazione stessa. Inoltre, anziché scrivere codice in modo imperativo, utilizzando JavaScript, con React si andrà a scrivere in modo dichiarativo semplificando le dinamiche di sviluppo dei componenti sui quali potrà essere posta tutta l’attenzione.