Frontend e Backend
Fondamenti di frontend e backend
Abbiamo individuato le applicazioni, abbiamo fatto la classificazione di base, abbiamo classificato i tipi di applicazioni web. Ma come funziona?
E qui arriviamo a termini molto importanti.
Frontend e Backend
L'illustrazione più semplice è il teatro. Veniamo allo spettacolo, vediamo gli artisti sul palco, li applaudiamo, riceviamo in cambio degli inchini. Allo stesso tempo, sappiamo con certezza che il teatro non si limita all'auditorium e non finisce con il palcoscenico. Da qualche parte si cuciono i costumi, ci si prepara nei camerini, da qualche parte il regista dà istruzioni. Non vediamo tutto questo, ma sappiamo con certezza che c'è, e senza tutto questo il teatro non potrebbe funzionare.
Allo stesso modo, tutto è organizzato nelle applicazioni web.
C'è un livello che vediamo. La pagina che viene visualizzata quando apriamo un sito. Questa pagina probabilmente presenta qualche tipo di animazione e persino dei pulsanti su cui è possibile fare clic.
Questo livello visibile è chiamato "Frontend". Include tutto ciò che si trova sul lato dell'utente. Tutto ciò che viene visualizzato sullo schermo del dispositivo. Qualcosa che si può vedere e persino sentire.
Ma allo stesso tempo, possiamo essere certi che tutto non si limita al frontend. Dopo tutto, anche il frontend stesso, molto recentemente, non è né sullo schermo né nella memoria del computer. Appare quando decidiamo di aprire un altro sito e inseriamo il suo indirizzo nel browser.
Facciamo una richiesta di visualizzazione del sito e riceviamo una risposta. Quali sono i blocchi, dove si trovano, come si presentano, quali sono i caratteri utilizzati. Premiamo un pulsante e il comando va al server per calcolare alcune informazioni, dare una risposta e fornire una soluzione al problema. Questo sistema di richiesta e risposta, Request-Response, è la pietra miliare del funzionamento di tutte le applicazioni Web.
La richiesta via Internet va al server, nella parte invisibile ai nostri occhi, il "Backend". Allo stesso tempo, la richiesta stessa contiene alcune informazioni, alcuni parametri. Sulla base di queste informazioni, il backend decide quale risposta inviare (oppure può annuire gentilmente, confermando la ricezione della richiesta, ma senza trasmettere altri dati).
HTTP
Il protocollo di trasferimento dei dati si chiama HTTP - HyperText Transfer Protocol. Queste 4 lettere si trovano all'inizio della barra degli indirizzi del browser. Ciò informa che l'interazione avverrà tramite il protocollo HTTP. Possiamo dire che le parti hanno concordato in quale lingua comunicare.
E non lasciatevi ingannare dal nome. Infatti, agli albori di Internet, il protocollo era stato concepito esclusivamente per gli ipertesti. Cioè, testo con link, con la possibilità di andare a un'altra pagina, di ottenere un altro testo. Ora permette di trasferire qualsiasi dato: immagini divertenti, canzoni, video di danza da Tik-Tok.
Nei moduli successivi del corso, ci occuperemo in dettaglio della struttura delle richieste e delle risposte. Creeremo richieste e risposte, nonché la logica per la loro elaborazione. In questa fase, è sufficiente comprendere il principio stesso del trasferimento dei dati dal frontend al backend e viceversa.
I database
A proposito, i dati stessi non appaiono per magia. La comparsa delle richieste sul lato frontend è facile da capire: siete voi stessi a inserirle. Ma per trasferire le informazioni all'utente, è necessario organizzare in qualche modo la loro memorizzazione ed elaborazione.
A questo scopo, funzionano i "database" (DB). Essi memorizzano i dati in forma strutturata. E ci sono sistemi che gestiscono questi dati: i DBMS (Database Management System). Permettono di scrivere nuovi dati nel database, di prenderli da lì, di modificarli, di cancellarli (tutto questo insieme è indicato con l'abbreviazione CRUD - Create, Read, Update, Delete). Studieremo tutto questo in dettaglio nei prossimi moduli. Vediamo ora cosa sono i database in generale, come è organizzato il loro lavoro e quanto è facile gestirli in AppMaster.io.