1
00:00:00,000 --> 00:00:05,001
[MUSIC]

2
00:00:05,001 --> 00:00:10,234
>> JavaScript che è stato progettato come un linguaggio di scripting per

3
00:00:10,234 --> 00:00:15,395
il browser ha visto la distribuzione ben oltre il browser.

4
00:00:15,395 --> 00:00:20,760
Node.js ha svolto un ruolo significativo in questo passaggio

5
00:00:20,760 --> 00:00:25,840
di JavaScript dal browser al desktop.

6
00:00:25,840 --> 00:00:31,526
Impariamo ora un po 'su ciò che Node.js è e quale ruolo svolge NPM,

7
00:00:31,526 --> 00:00:36,138
il Node Package Manager, nel contesto di Node.js.

8
00:00:38,042 --> 00:00:40,786
Node.js, come ho detto in precedenza,

9
00:00:40,786 --> 00:00:45,930
ci permette di portare la potenza di JavaScript sul desktop. Il

10
00:00:45,930 --> 00:00:50,170
nodo js si basa sul

11
00:00:50,170 --> 00:00:54,070
motore di runtime JavaScript che è stato creato per il browser Chrome.

12
00:00:54,070 --> 00:00:59,380
Quindi il motore JavaScript di Chrome V8 è stato portato dal browser per

13
00:00:59,380 --> 00:01:03,875
l'esecuzione sul desktop e supportare l'esecuzione di programmi JavaScript sul desktop.

14
00:01:03,875 --> 00:01:07,447
Node.js è costruito intorno a un

15
00:01:07,447 --> 00:01:13,275
modello I/O non bloccante basato su eventi che rende molto efficiente

16
00:01:13,275 --> 00:01:18,737
l'esecuzione di programmi JavaScript sul desktop, JavaScript asincrono sul desktop.

17
00:01:18,737 --> 00:01:22,580
Ora è qui che Node trova il suo vero smalto. In

18
00:01:23,850 --> 00:01:31,380
questo momento esamineremo Node.js nel contesto il suo utilizzo come runtime JavaScript.

19
00:01:31,380 --> 00:01:36,958
Esamineremo l'applicazione lato server di Node.js

20
00:01:36,958 --> 00:01:42,425
in dettaglio nell'ultimo corso di questa specializzazione.

21
00:01:43,575 --> 00:01:47,438
Questa è l'architettura tipica di Node.js.

22
00:01:47,438 --> 00:01:52,635
Quindi, in questo, il motore Chrome V8 è lo strato inferiore insieme a

23
00:01:52,635 --> 00:01:57,690
libuv, forma il livello che interagisce con

24
00:01:57,690 --> 00:02:03,060
il sistema informatico sottostante per supportare l'esecuzione di programmi JavaScript.

25
00:02:03,060 --> 00:02:06,375
Oltre ad esso abbiamo Node Bindings che è anche implementato in C ++.

26
00:02:06,375 --> 00:02:11,005
Al livello superiore hai il Node.js e la

27
00:02:11,005 --> 00:02:15,125
libreria standard, che sono tutti implementati in JavaScript e questo è ciò che

28
00:02:15,125 --> 00:02:19,865
ci permette di scrivere programmi JavaScript ed eseguirli sul desktop.

29
00:02:21,335 --> 00:02:26,035
Naturalmente la capacità di eseguire programmi JavaScript sul desktop

30
00:02:26,035 --> 00:02:30,910
stimola la comunità di sviluppo web per esplorare utilizzando

31
00:02:30,910 --> 00:02:36,180
JavaScript per sviluppare un numero significativo di strumenti di sviluppo web.

32
00:02:36,180 --> 00:02:40,992
Strumenti come Bower, Grunt, Gulp, Yeoman e molti altri.

33
00:02:40,992 --> 00:02:45,280
Esploreremo alcuni di questi nella parte successiva di questo corso e

34
00:02:45,280 --> 00:02:47,600
nei corsi successivi.

35
00:02:47,600 --> 00:02:50,320
L' ultimo corso nella specializzazione come ho detto,

36
00:02:50,320 --> 00:02:54,090
guarda l'uso di Node.js sul lato server.

37
00:02:54,090 --> 00:02:57,330
Come possiamo sviluppare server web, logica di business,

38
00:02:57,330 --> 00:03:02,520
tutti implementati in JavaScript sul lato server.

39
00:03:02,520 --> 00:03:06,490
Insieme a Node si sente spesso la gente parlare

40
00:03:06,490 --> 00:03:09,460
del gestore di pacchetti Node o NPM.

41
00:03:09,460 --> 00:03:14,060
Quando si installa Node nel computer NPM viene installato automaticamente.

42
00:03:14,060 --> 00:03:20,265
Il gestore di pacchetti Node è il gestore per l'ecosistema Node.

43
00:03:20,265 --> 00:03:22,540
Gestisce tutti i moduli Node e

44
00:03:22,540 --> 00:03:28,350
i pacchetti che sono stati resi disponibili pubblicamente da molti utenti diversi.

45
00:03:28,350 --> 00:03:34,110
Un tipico pacchetto Node consiste di file JavaScript insieme a

46
00:03:34,110 --> 00:03:41,580
un file chiamato package.json che è il file manifest per questo modulo Node.

47
00:03:41,580 --> 00:03:46,384
Vedremo come possiamo utilizzare il file package.json

48
00:03:46,384 --> 00:03:50,642
in modo più dettagliato negli esercizi successivi.

49
00:03:50,642 --> 00:03:56,659
>> [MUSICA]