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

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

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

4
00:00:15,420 --> 00:00:20,760
Node.js ha svolto un ruolo significativo nello spostamento

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

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

7
00:00:31,360 --> 00:00:37,406
il gestore di pacchetti di nodi, nel contesto di node.js.

8
00:00:37,406 --> 00:00:40,570
Node.js come ho accennato in precedenza

9
00:00:41,830 --> 00:00:45,155
ci permette di portare la potenza di JavaScript sul desktop.

10
00:00:45,155 --> 00:00:49,790
Node.js si basa sul motore di runtime JavaScript

11
00:00:49,790 --> 00:00:54,070
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 eseguire

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

14
00:01:03,875 --> 00:01:10,520
Node.js è costruito intorno al modello I/O basato su eventi e non bloccante.

15
00:01:10,520 --> 00:01:15,025
Il che rende molto efficiente eseguire programmi JavaScript sul desktop,

16
00:01:15,025 --> 00:01:18,610
JavaScript asincrono sul desktop.

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

18
00:01:23,850 --> 00:01:27,460
questo momento, esamineremo Node.js nel contesto del

19
00:01:28,580 --> 00:01:31,380
suo utilizzo come runtime JavaScript.

20
00:01:31,380 --> 00:01:37,078
Esamineremo l'applicazione lato server di Node.js

21
00:01:37,078 --> 00:01:42,425
in dettaglio nell'ultimo corso di questa specializzazione.

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

23
00:01:47,115 --> 00:01:51,845
Quindi, in questo, il motore Chrome V8 si trova nello strato inferiore,

24
00:01:51,845 --> 00:01:57,690
insieme ai moduli libuv, il livello che interagisce con

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

26
00:02:03,060 --> 00:02:07,662
Inoltre, abbiamo Node Bindings, che sono implementati anche in C ++.

27
00:02:07,662 --> 00:02:11,283
Nel livello superiore hai il Node.js e la libreria standard,

28
00:02:11,283 --> 00:02:14,315
che sono tutti implementati in JavaScript.

29
00:02:14,315 --> 00:02:18,325
E questo è ciò che ci permette di scrivere programmi JavaScript ed

30
00:02:18,325 --> 00:02:19,865
eseguirli sul desktop.

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

32
00:02:26,035 --> 00:02:28,930
alimentato la comunità di sviluppo web.

33
00:02:28,930 --> 00:02:33,440
Per esplorare l'utilizzo di JavaScript per sviluppare un

34
00:02:33,440 --> 00:02:36,180
numero significativo di strumenti di sviluppo web.

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

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

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

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

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

40
00:02:54,090 --> 00:02:57,330
Come possiamo sviluppare la logica aziendale del server Web, il

41
00:02:57,330 --> 00:03:01,440
tutto implementato in JavaScript sul lato server.

42
00:03:02,520 --> 00:03:04,240
Insieme a Node,

43
00:03:04,240 --> 00:03:09,460
spesso si sente parlare di Node Package Manager o NPM.

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

45
00:03:14,060 --> 00:03:18,470
Il Node Package Manager, è il gestore

46
00:03:18,470 --> 00:03:22,540
dell'ecosistema Node, che gestisce tutti i moduli Node e

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

48
00:03:28,350 --> 00:03:34,110
Un tipico pacchetto Node è costituito da, file JavaScript insieme a

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

50
00:03:41,565 --> 00:03:46,474
Vedremo come possiamo utilizzare il file package.json

51
00:03:46,474 --> 00:03:50,825
in modo più dettagliato negli esercizi successivi.

52
00:03:50,825 --> 00:03:56,659
[ MUSIC]