1
00:00:04,070 --> 00:00:09,330
JavaScript che è stato progettato come

2
00:00:09,330 --> 00:00:15,710
un linguaggio di scripting per il browser ha visto la distribuzione ben oltre il browser.

3
00:00:15,710 --> 00:00:19,650
Node.js ha svolto un ruolo significativo in

4
00:00:19,650 --> 00:00:25,440
questo passaggio di JavaScript dal browser al desktop.

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

6
00:00:31,735 --> 00:00:37,200
il Node Package Manager nel contesto di Node.js.

7
00:00:37,200 --> 00:00:41,200
Node.js come ho accennato in precedenza,

8
00:00:41,200 --> 00:00:45,520
ci permette di portare la potenza di JavaScript sul desktop.

9
00:00:45,520 --> 00:00:47,900
Node.js si basa

10
00:00:47,900 --> 00:00:53,570
sul motore di runtime JavaScript creato per il browser Chrome.

11
00:00:53,570 --> 00:00:58,610
Quindi, il motore JavaScript di Chrome V8 è stato portato dal browser per essere

12
00:00:58,610 --> 00:01:04,470
eseguito sul desktop e supportare l'esecuzione di programmi JavaScript sul desktop.

13
00:01:04,470 --> 00:01:08,090
Node.js è costruito intorno a un

14
00:01:08,090 --> 00:01:12,845
modello I/O non bloccante basato su eventi che rende molto efficiente

15
00:01:12,845 --> 00:01:18,190
l'esecuzione di programmi JavaScript sul desktop asincrono JavaScript sul desktop.

16
00:01:18,190 --> 00:01:23,180
Ora, qui è dove il nodo trova il suo vero sacchetto.

17
00:01:23,180 --> 00:01:27,125
Questa è l'architettura tipica di Node.js.

18
00:01:27,125 --> 00:01:34,150
Quindi, in questo, il motore Chrome V8 è allo strato inferiore insieme a libuv,

19
00:01:34,150 --> 00:01:37,940
forma il livello che interagisce con

20
00:01:37,940 --> 00:01:43,025
il sistema informatico sottostante per supportare l'esecuzione di programmi JavaScript.

21
00:01:43,025 --> 00:01:47,330
Oltre ad esso, abbiamo collegamenti di nodi che saranno implementati anche in C ++.

22
00:01:47,330 --> 00:01:48,865
Al livello superiore,

23
00:01:48,865 --> 00:01:54,345
hai il Node.js e la libreria standard che sono tutti implementati in JavaScript,

24
00:01:54,345 --> 00:02:00,919
e questo è ciò che ci permette di scrivere programmi JavaScript ed eseguirli sul desktop.

25
00:02:00,919 --> 00:02:06,950
Naturalmente, la capacità di eseguire programmi JavaScript sul desktop stimola

26
00:02:06,950 --> 00:02:11,170
la comunità di sviluppo web per esplorare utilizzando

27
00:02:11,170 --> 00:02:16,220
JavaScript per sviluppare un numero significativo di strumenti di sviluppo web.

28
00:02:16,220 --> 00:02:18,510
Strumenti come Bower, Grunt,

29
00:02:18,510 --> 00:02:21,150
Gulp, Yeoman e molti altri.

30
00:02:21,150 --> 00:02:23,975
Questo corso in questa specializzazione come ho detto

31
00:02:23,975 --> 00:02:27,485
guarda l'uso di Node.js sul lato server,

32
00:02:27,485 --> 00:02:34,080
come possiamo sviluppare la logica aziendale del server web tutti implementati in JavaScript.

33
00:02:34,080 --> 00:02:41,075
Insieme al nodo, spesso si sente parlare di Node Package Manager o NPM.

34
00:02:41,075 --> 00:02:43,495
Quando si installa Node nel computer,

35
00:02:43,495 --> 00:02:45,695
NPM viene installato automaticamente.

36
00:02:45,695 --> 00:02:52,250
Il Node Package Manager è il gestore dell'ecosistema Node che

37
00:02:52,250 --> 00:02:55,640
gestisce tutti i moduli Node e i pacchetti che sono stati

38
00:02:55,640 --> 00:03:00,005
resi pubblici da molti utenti diversi.

39
00:03:00,005 --> 00:03:06,500
Un tipico pacchetto Node è costituito da file JavaScript insieme a un file

40
00:03:06,500 --> 00:03:13,145
chiamato package.json che è il file manifest per questo modulo nodo.

41
00:03:13,145 --> 00:03:16,610
Vedremo come possiamo utilizzare il

42
00:03:16,610 --> 00:03:23,330
file package.json in modo più dettagliato negli esercizi successivi.