﻿1
00:00:00,762 --> 00:00:02,250
‫Narratore: Quindi ora

2
00:00:02,250 --> 00:00:04,410
‫che hai una buona panoramica

3
00:00:04,410 --> 00:00:06,290
‫di come funziona il

4
00:00:06,290 --> 00:00:08,913
‫web dietro le quinte, impariamo cos'è lo

5
00:00:08,913 --> 00:00:11,796
‫sviluppo web back-end e come si confronta

6
00:00:11,796 --> 00:00:14,415
‫con lo sviluppo front-end, perché questa è

7
00:00:14,415 --> 00:00:17,666
‫una distinzione molto importante nel web mondo dello sviluppo.

8
00:00:17,666 --> 00:00:20,330
‫Quindi per distinguere tra front-end e back-end

9
00:00:20,330 --> 00:00:21,730
‫di un

10
00:00:21,730 --> 00:00:23,980
‫sito web e dello sviluppo

11
00:00:23,980 --> 00:00:25,619
‫web in generale, consideriamo

12
00:00:25,619 --> 00:00:27,767
‫ancora la stessa architettura client-server

13
00:00:27,767 --> 00:00:29,950
‫di cui abbiamo parlato prima.

14
00:00:29,950 --> 00:00:32,269
‫Quindi, in termini generali, lo

15
00:00:32,269 --> 00:00:35,830
‫sviluppo front-end riguarda tutto ciò che accade nel browser web.

16
00:00:35,830 --> 00:00:38,010
‫Quindi si tratta di progettare e

17
00:00:38,010 --> 00:00:39,940
‫costruire il sito web finale

18
00:00:39,940 --> 00:00:42,371
‫che sarà visibile all'utente, e quindi,

19
00:00:42,371 --> 00:00:44,123
‫il nome front-end.

20
00:00:44,960 --> 00:00:46,188
‫Lo sviluppatore

21
00:00:46,188 --> 00:00:50,024
‫front-end utilizza le tecnologie di base: HTML, CSS

22
00:00:50,024 --> 00:00:54,028
‫e JavaScript, che insieme formano lo stack tecnologico front-end.

23
00:00:54,028 --> 00:00:56,510
‫Ora, molti sviluppatori front-end moderni aggiungono

24
00:00:56,510 --> 00:00:58,660
‫più cose allo stack

25
00:00:58,660 --> 00:01:03,010
‫front-end come React o Angular o Redux o GraphQL o qualunque

26
00:01:03,010 --> 00:01:05,715
‫cosa sia interessante in questi giorni.

27
00:01:05,715 --> 00:01:09,150
‫Quindi queste tecnologie rendono più facile lo sviluppo front-end e

28
00:01:09,150 --> 00:01:10,950
‫tutte queste tecnologie insieme

29
00:01:10,950 --> 00:01:12,930
‫che uno sviluppatore o un

30
00:01:12,930 --> 00:01:15,090
‫team decide di utilizzare sul front-end,

31
00:01:15,090 --> 00:01:17,169
‫è il loro stack front-end, ok?

32
00:01:17,169 --> 00:01:19,170
‫E probabilmente conosci già la maggior parte

33
00:01:19,170 --> 00:01:21,320
‫di queste cose comunque, ma voglio comunque

34
00:01:21,320 --> 00:01:24,070
‫darti una breve panoramica di come tutto si inserisce

35
00:01:24,070 --> 00:01:25,931
‫nel quadro più ampio qui.

36
00:01:25,931 --> 00:01:29,605
‫Va bene, e ora passiamo al back-end.

37
00:01:29,605 --> 00:01:31,890
‫Questa parte dello sviluppo web riguarda

38
00:01:31,890 --> 00:01:34,313
‫tutto ciò che accade sul server

39
00:01:34,313 --> 00:01:36,350
‫web, quindi tutto ciò che

40
00:01:36,350 --> 00:01:37,912
‫è invisibile all'utente

41
00:01:37,912 --> 00:01:40,768
‫finale e quindi il back-end del nome, ok?

42
00:01:40,768 --> 00:01:43,624
‫E poiché ora stiamo parlando del

43
00:01:43,624 --> 00:01:47,800
‫sito del server, definiamo in realtà che cos'è realmente un server.

44
00:01:47,800 --> 00:01:50,745
‫Bene, un server di base è in

45
00:01:50,745 --> 00:01:52,880
‫realtà solo un computer

46
00:01:52,880 --> 00:01:55,990
‫connesso a Internet che, in primo luogo, memorizza

47
00:01:55,990 --> 00:01:58,670
‫i file di un sito Web come

48
00:01:58,670 --> 00:02:01,340
‫HTML, CSS e immagini e, in

49
00:02:01,340 --> 00:02:04,073
‫secondo luogo, esegue un server HTTP in

50
00:02:04,073 --> 00:02:07,600
‫grado di comprendere URL, richieste e anche fornire risposte.

51
00:02:07,600 --> 00:02:10,167
‫Quindi questo pezzo di software

52
00:02:10,167 --> 00:02:13,480
‫del server HTTP è ciò che comunica effettivamente

53
00:02:13,480 --> 00:02:16,220
‫con il browser utilizzando richieste e risposte.

54
00:02:16,220 --> 00:02:18,230
‫Pertanto, è come il ponte tra

55
00:02:18,230 --> 00:02:20,160
‫il front-end e il

56
00:02:20,160 --> 00:02:23,140
‫back-end di un sito Web o di un'applicazione Web.

57
00:02:23,140 --> 00:02:25,430
‫Ora un semplice server web come

58
00:02:25,430 --> 00:02:28,275
‫quello che ho appena descritto è chiamato server

59
00:02:28,275 --> 00:02:30,530
‫statico, perché tutto ciò che

60
00:02:30,530 --> 00:02:34,660
‫può realmente fare è servire file statici al client tramite HTTP.

61
00:02:34,660 --> 00:02:37,293
‫Se hai solo bisogno di ospitare un semplice sito web, allora

62
00:02:37,293 --> 00:02:39,570
‫questo è davvero tutto ciò di cui hai bisogno.

63
00:02:39,570 --> 00:02:41,900
‫Ma se vuoi portarlo al livello successivo

64
00:02:41,900 --> 00:02:43,950
‫e creare applicazioni web dinamiche che

65
00:02:43,950 --> 00:02:46,365
‫parlano con database e tutto il resto,

66
00:02:46,365 --> 00:02:49,720
‫usiamo un server che è anche in grado di eseguire

67
00:02:49,720 --> 00:02:51,548
‫applicazioni dinamiche OR, proprio

68
00:02:51,548 --> 00:02:53,520
‫come il codice che abbiamo scritto

69
00:02:53,520 --> 00:02:55,779
‫ed eseguito nel sezione introduttiva del corso.

70
00:02:55,779 --> 00:02:58,800
‫Questo viene quindi chiamato server dinamico, in cui

71
00:02:58,800 --> 00:03:00,500
‫abbiamo un'app OR in

72
00:03:00,500 --> 00:03:02,610
‫esecuzione, un server HTTP e,

73
00:03:02,610 --> 00:03:05,380
‫naturalmente, i file che parlano tutti tra loro.

74
00:03:05,380 --> 00:03:07,400
‫E in alcuni casi, è tutto ciò

75
00:03:07,400 --> 00:03:09,323
‫di cui abbiamo bisogno per

76
00:03:09,323 --> 00:03:12,310
‫le applicazioni in sala operatoria, ma di solito quando creiamo

77
00:03:12,310 --> 00:03:14,610
‫siti Web o app dinamici, utilizzeremo anche un

78
00:03:14,610 --> 00:03:17,379
‫database, a cui possiamo accedere direttamente dalle nostre applicazioni.

79
00:03:17,379 --> 00:03:19,342
‫A proposito, se il termine

80
00:03:19,342 --> 00:03:21,820
‫siti Web o applicazioni statici e dinamici ti

81
00:03:21,820 --> 00:03:23,894
‫crea un po' di confusione, nessun problema.

82
00:03:23,894 --> 00:03:26,487
‫Ne parleremo proprio nel prossimo video.

83
00:03:26,487 --> 00:03:28,843
‫Ad ogni modo, possiamo usare il

84
00:03:28,843 --> 00:03:32,004
‫database per memorizzare cose come utenti o dati di applicazioni

85
00:03:32,004 --> 00:03:34,778
‫o testo per riempire un modello di sito web.

86
00:03:34,778 --> 00:03:38,160
‫In qualsiasi applicazione seria, ci sarà sempre un database

87
00:03:38,160 --> 00:03:40,370
‫e il nostro codice

88
00:03:40,370 --> 00:03:42,676
‫di back-end comunicherà con quel database.

89
00:03:42,676 --> 00:03:45,090
‫Quindi, alcune cose usuali che vengono

90
00:03:45,090 --> 00:03:47,200
‫gestite sul back-end o sul

91
00:03:47,200 --> 00:03:50,088
‫lato server come possiamo anche chiamarle per creare

92
00:03:50,088 --> 00:03:53,406
‫profili utente, eseguire login, inviare e-mail, gestire pagamenti, recuperare

93
00:03:53,406 --> 00:03:56,810
‫e inviare dati di richiesta da un database a un

94
00:03:56,810 --> 00:03:59,850
‫client , manipolare i dati nel database, compilare modelli

95
00:03:59,850 --> 00:04:02,517
‫di siti Web e molto altro ancora.

96
00:04:02,517 --> 00:04:05,020
‫E faremo molte di queste cose entusiasmanti durante

97
00:04:05,020 --> 00:04:07,233
‫il corso, in realtà tutte davvero.

98
00:04:07,233 --> 00:04:10,800
‫Ora riguardo alla tecnologia, come puoi immaginare, useremo

99
00:04:10,800 --> 00:04:14,235
‫NodeJS come server web dinamico e MongoDB

100
00:04:14,235 --> 00:04:17,400
‫come nostro database, quindi dati o

101
00:04:17,400 --> 00:04:19,294
‫stack di back-end.

102
00:04:19,294 --> 00:04:22,670
‫Ma ci sono così tante diverse tecnologie e stack

103
00:04:22,670 --> 00:04:25,040
‫di back-end disponibili per il back-end.

104
00:04:25,040 --> 00:04:28,025
‫Cose come PHP con database MySQL o

105
00:04:28,025 --> 00:04:31,123
‫Python con database PostgreSQL o alcune persone

106
00:04:31,123 --> 00:04:33,750
‫usano Ruby on Rails forse anche

107
00:04:33,750 --> 00:04:36,120
‫con qualche altro database.

108
00:04:36,120 --> 00:04:38,430
‫Ma, dal momento che vuoi

109
00:04:38,430 --> 00:04:40,980
‫imparare bene NodeJS, useremo esattamente quello.

110
00:04:40,980 --> 00:04:43,230
‫E il database più popolare

111
00:04:43,230 --> 00:04:46,070
‫utilizzato con Node è, senza dubbio, MongoDB.

112
00:04:46,070 --> 00:04:49,007
‫E, quindi, questa è la nostra scelta per uno stack di back-end.

113
00:04:49,007 --> 00:04:52,237
‫Ora, potresti aver sentito il termine stack completo prima,

114
00:04:52,237 --> 00:04:54,180
‫e questo è semplicemente il

115
00:04:54,180 --> 00:04:56,710
‫front-end più gli stack di back-end insieme.

116
00:04:56,710 --> 00:04:59,180
‫Quindi, lo sviluppatore che sviluppa sia

117
00:04:59,180 --> 00:05:01,209
‫front-end che back-end può definirsi

118
00:05:01,209 --> 00:05:04,117
‫uno sviluppatore full stack, ma questi sviluppatori

119
00:05:04,117 --> 00:05:06,410
‫stanno diventando sempre più rari, soprattutto

120
00:05:06,410 --> 00:05:08,150
‫perché il front-end

121
00:05:08,150 --> 00:05:11,110
‫sta diventando sempre più complesso in questi giorni.

122
00:05:11,110 --> 00:05:14,630
‫Infine, un'altra cosa che volevo menzionare rapidamente è che,

123
00:05:14,630 --> 00:05:17,150
‫come puoi vedere, useremo Node applicato

124
00:05:17,150 --> 00:05:19,400
‫allo sviluppo web di back-end

125
00:05:19,400 --> 00:05:21,930
‫e non qualcosa come la programmazione hardware.

126
00:05:21,930 --> 00:05:24,670
‫Quindi, puoi tecnicamente utilizzare Node per cose

127
00:05:24,670 --> 00:05:27,240
‫come droni volanti, robot di

128
00:05:27,240 --> 00:05:30,300
‫programmazione o sviluppo di software per dispositivi IFT.

129
00:05:30,300 --> 00:05:32,610
‫Ma questo esula dallo scopo di questo corso.

130
00:05:32,610 --> 00:05:35,670
‫Se vuoi programmare dispositivi IFT con Node, beh,

131
00:05:35,670 --> 00:05:38,550
‫questo corso ti sarà comunque utile, non

132
00:05:38,550 --> 00:05:40,650
‫è solo il fulcro dei

133
00:05:40,650 --> 00:05:42,528
‫progetti che costruiremo, ok?

134
00:05:42,528 --> 00:05:46,100
‫Va bene e immagino che riassuma la differenza tra il lato

135
00:05:46,100 --> 00:05:48,425
‫front-end e il lato back-end dello sviluppo

136
00:05:48,425 --> 00:05:50,734
‫web, in modo che andando avanti, hai

137
00:05:50,734 --> 00:05:52,970
‫una buona idea dei domini

138
00:05:52,970 --> 00:05:55,753
‫in cui NodeDS viene effettivamente utilizzato nel mondo reale.

