‫Narratore: Quindi ora
‫che hai una buona panoramica
‫di come funziona il
‫web dietro le quinte, impariamo cos'è lo
‫sviluppo web back-end e come si confronta
‫con lo sviluppo front-end, perché questa è
‫una distinzione molto importante nel web mondo dello sviluppo.
‫Quindi per distinguere tra front-end e back-end
‫di un
‫sito web e dello sviluppo
‫web in generale, consideriamo
‫ancora la stessa architettura client-server
‫di cui abbiamo parlato prima.
‫Quindi, in termini generali, lo
‫sviluppo front-end riguarda tutto ciò che accade nel browser web.
‫Quindi si tratta di progettare e
‫costruire il sito web finale
‫che sarà visibile all'utente, e quindi,
‫il nome front-end.
‫Lo sviluppatore
‫front-end utilizza le tecnologie di base: HTML, CSS
‫e JavaScript, che insieme formano lo stack tecnologico front-end.
‫Ora, molti sviluppatori front-end moderni aggiungono
‫più cose allo stack
‫front-end come React o Angular o Redux o GraphQL o qualunque
‫cosa sia interessante in questi giorni.
‫Quindi queste tecnologie rendono più facile lo sviluppo front-end e
‫tutte queste tecnologie insieme
‫che uno sviluppatore o un
‫team decide di utilizzare sul front-end,
‫è il loro stack front-end, ok?
‫E probabilmente conosci già la maggior parte
‫di queste cose comunque, ma voglio comunque
‫darti una breve panoramica di come tutto si inserisce
‫nel quadro più ampio qui.
‫Va bene, e ora passiamo al back-end.
‫Questa parte dello sviluppo web riguarda
‫tutto ciò che accade sul server
‫web, quindi tutto ciò che
‫è invisibile all'utente
‫finale e quindi il back-end del nome, ok?
‫E poiché ora stiamo parlando del
‫sito del server, definiamo in realtà che cos'è realmente un server.
‫Bene, un server di base è in
‫realtà solo un computer
‫connesso a Internet che, in primo luogo, memorizza
‫i file di un sito Web come
‫HTML, CSS e immagini e, in
‫secondo luogo, esegue un server HTTP in
‫grado di comprendere URL, richieste e anche fornire risposte.
‫Quindi questo pezzo di software
‫del server HTTP è ciò che comunica effettivamente
‫con il browser utilizzando richieste e risposte.
‫Pertanto, è come il ponte tra
‫il front-end e il
‫back-end di un sito Web o di un'applicazione Web.
‫Ora un semplice server web come
‫quello che ho appena descritto è chiamato server
‫statico, perché tutto ciò che
‫può realmente fare è servire file statici al client tramite HTTP.
‫Se hai solo bisogno di ospitare un semplice sito web, allora
‫questo è davvero tutto ciò di cui hai bisogno.
‫Ma se vuoi portarlo al livello successivo
‫e creare applicazioni web dinamiche che
‫parlano con database e tutto il resto,
‫usiamo un server che è anche in grado di eseguire
‫applicazioni dinamiche OR, proprio
‫come il codice che abbiamo scritto
‫ed eseguito nel sezione introduttiva del corso.
‫Questo viene quindi chiamato server dinamico, in cui
‫abbiamo un'app OR in
‫esecuzione, un server HTTP e,
‫naturalmente, i file che parlano tutti tra loro.
‫E in alcuni casi, è tutto ciò
‫di cui abbiamo bisogno per
‫le applicazioni in sala operatoria, ma di solito quando creiamo
‫siti Web o app dinamici, utilizzeremo anche un
‫database, a cui possiamo accedere direttamente dalle nostre applicazioni.
‫A proposito, se il termine
‫siti Web o applicazioni statici e dinamici ti
‫crea un po' di confusione, nessun problema.
‫Ne parleremo proprio nel prossimo video.
‫Ad ogni modo, possiamo usare il
‫database per memorizzare cose come utenti o dati di applicazioni
‫o testo per riempire un modello di sito web.
‫In qualsiasi applicazione seria, ci sarà sempre un database
‫e il nostro codice
‫di back-end comunicherà con quel database.
‫Quindi, alcune cose usuali che vengono
‫gestite sul back-end o sul
‫lato server come possiamo anche chiamarle per creare
‫profili utente, eseguire login, inviare e-mail, gestire pagamenti, recuperare
‫e inviare dati di richiesta da un database a un
‫client , manipolare i dati nel database, compilare modelli
‫di siti Web e molto altro ancora.
‫E faremo molte di queste cose entusiasmanti durante
‫il corso, in realtà tutte davvero.
‫Ora riguardo alla tecnologia, come puoi immaginare, useremo
‫NodeJS come server web dinamico e MongoDB
‫come nostro database, quindi dati o
‫stack di back-end.
‫Ma ci sono così tante diverse tecnologie e stack
‫di back-end disponibili per il back-end.
‫Cose come PHP con database MySQL o
‫Python con database PostgreSQL o alcune persone
‫usano Ruby on Rails forse anche
‫con qualche altro database.
‫Ma, dal momento che vuoi
‫imparare bene NodeJS, useremo esattamente quello.
‫E il database più popolare
‫utilizzato con Node è, senza dubbio, MongoDB.
‫E, quindi, questa è la nostra scelta per uno stack di back-end.
‫Ora, potresti aver sentito il termine stack completo prima,
‫e questo è semplicemente il
‫front-end più gli stack di back-end insieme.
‫Quindi, lo sviluppatore che sviluppa sia
‫front-end che back-end può definirsi
‫uno sviluppatore full stack, ma questi sviluppatori
‫stanno diventando sempre più rari, soprattutto
‫perché il front-end
‫sta diventando sempre più complesso in questi giorni.
‫Infine, un'altra cosa che volevo menzionare rapidamente è che,
‫come puoi vedere, useremo Node applicato
‫allo sviluppo web di back-end
‫e non qualcosa come la programmazione hardware.
‫Quindi, puoi tecnicamente utilizzare Node per cose
‫come droni volanti, robot di
‫programmazione o sviluppo di software per dispositivi IFT.
‫Ma questo esula dallo scopo di questo corso.
‫Se vuoi programmare dispositivi IFT con Node, beh,
‫questo corso ti sarà comunque utile, non
‫è solo il fulcro dei
‫progetti che costruiremo, ok?
‫Va bene e immagino che riassuma la differenza tra il lato
‫front-end e il lato back-end dello sviluppo
‫web, in modo che andando avanti, hai
‫una buona idea dei domini
‫in cui NodeDS viene effettivamente utilizzato nel mondo reale.