﻿1
00:00:01,270 --> 00:00:04,520
‫Narrador: Ahora, antes de sumergirnos en el código de NodeJS,

2
00:00:04,520 --> 00:00:06,700
‫hagamos una descripción general de alto

3
00:00:06,700 --> 00:00:08,990
‫nivel de lo que realmente es NodeJS,

4
00:00:08,990 --> 00:00:11,800
‫para qué lo usamos y por qué usamos Node

5
00:00:11,800 --> 00:00:13,843
‫en lugar de otras tecnologías.

6
00:00:15,410 --> 00:00:17,570
‫Entonces, la definición oficial es que NodeJS

7
00:00:17,570 --> 00:00:19,480
‫es un tiempo de ejecución

8
00:00:19,480 --> 00:00:23,783
‫de JavaScript construido en el motor de código abierto V8 JavaScript de Google.

9
00:00:23,783 --> 00:00:26,279
‫Ahora, ¿qué significa eso realmente?

10
00:00:26,279 --> 00:00:29,289
‫Bueno, comencemos por tratar de comprender qué

11
00:00:29,289 --> 00:00:31,174
‫son en realidad

12
00:00:31,174 --> 00:00:33,913
‫JavaScript Runtime y el motor V8.

13
00:00:35,190 --> 00:00:37,914
‫Entonces, probablemente ya hayas usado JavaScript

14
00:00:37,914 --> 00:00:42,120
‫antes y probablemente siempre estuvo solo dentro de un navegador, ¿verdad?

15
00:00:42,120 --> 00:00:45,400
‫Debido a que cualquier navegador entiende HTML, CSS

16
00:00:45,400 --> 00:00:49,250
‫y JavaScript de forma nativa y no importa si

17
00:00:49,250 --> 00:00:51,760
‫escribe JavaScript vanilla o algún

18
00:00:51,760 --> 00:00:54,713
‫marco de JavaScript como React o código

19
00:00:54,713 --> 00:00:56,370
‫Angular, eso es

20
00:00:56,370 --> 00:00:59,920
‫solo JavaScript que se ejecuta directamente en el navegador.

21
00:00:59,920 --> 00:01:01,500
‫Entonces, en este caso, el

22
00:01:01,500 --> 00:01:03,454
‫navegador es el tiempo de ejecución de JavaScript.

23
00:01:03,454 --> 00:01:06,110
‫Pero, ¿qué pasaría si pudiéramos sacar

24
00:01:06,110 --> 00:01:08,311
‫JavaScript del navegador y

25
00:01:08,311 --> 00:01:10,988
‫simplemente ejecutar el código JavaScript en otro

26
00:01:10,988 --> 00:01:14,860
‫lugar sin todas las restricciones que tenemos en el navegador?

27
00:01:14,860 --> 00:01:17,580
‫Bueno, resulta que realmente podemos.

28
00:01:17,580 --> 00:01:19,955
‫Y la solución para esto, como

29
00:01:19,955 --> 00:01:23,425
‫puede adivinar, se llama NodeJS, por lo que Node JS es

30
00:01:23,425 --> 00:01:25,830
‫solo otro tiempo de ejecución de JavaScript.

31
00:01:25,830 --> 00:01:29,252
‫Es como un contenedor, como un entorno,

32
00:01:29,252 --> 00:01:32,010
‫en el que se puede

33
00:01:32,010 --> 00:01:37,010
‫ejecutar un programa escrito en JavaScript, pero fuera de cualquier navegador.

34
00:01:37,230 --> 00:01:39,850
‫Está bien, en realidad es un poco más

35
00:01:39,850 --> 00:01:42,908
‫complejo que esto, por supuesto, pero por ahora, esto es suficiente.

36
00:01:42,908 --> 00:01:45,380
‫Ahora bien, ¿quién ejecuta realmente el código

37
00:01:45,380 --> 00:01:47,438
‫si no es el navegador?

38
00:01:47,438 --> 00:01:50,070
‫Y ahí es donde entra en

39
00:01:50,070 --> 00:01:52,770
‫juego el motor V8 desarrollado por Google.

40
00:01:52,770 --> 00:01:55,420
‫Porque ahí es exactamente donde se

41
00:01:55,420 --> 00:01:59,800
‫analizará y ejecutará el código JavaScript en NodeJS, ¿de acuerdo?

42
00:01:59,800 --> 00:02:02,819
‫Entonces, espero que ahora la definición de NodeJS como

43
00:02:02,819 --> 00:02:07,116
‫un tiempo de ejecución de JavaScript en el motor de JavaScript V8

44
00:02:07,116 --> 00:02:10,104
‫tenga mucho más sentido y, nuevamente, esto es

45
00:02:10,104 --> 00:02:12,742
‫solo una descripción general de muy

46
00:02:12,742 --> 00:02:16,060
‫alto nivel de qué es Node y cómo funciona.

47
00:02:16,060 --> 00:02:18,430
‫Vamos a entrar en muchos detalles sobre

48
00:02:18,430 --> 00:02:20,926
‫cómo Node realmente funciona detrás de escena en

49
00:02:20,926 --> 00:02:23,860
‫la siguiente sección, pero en este punto, solo quiero

50
00:02:23,860 --> 00:02:26,152
‫que obtenga una descripción general rápida

51
00:02:26,152 --> 00:02:28,810
‫para que pueda comenzar a aprender los fundamentos

52
00:02:28,810 --> 00:02:32,203
‫de NodeJS en la práctica a lo largo de esta sección.

53
00:02:34,000 --> 00:02:36,230
‫De todos modos, ahora que

54
00:02:36,230 --> 00:02:38,400
‫tenemos JavaScript fuera del navegador

55
00:02:38,400 --> 00:02:40,704
‫en una especie de entorno independiente

56
00:02:40,704 --> 00:02:44,058
‫que solo NodeJS, podemos hacer muchas más cosas con

57
00:02:44,058 --> 00:02:46,690
‫JavaScript que antes eran completamente imposibles, como

58
00:02:46,690 --> 00:02:48,254
‫acceder al sistema

59
00:02:48,254 --> 00:02:50,515
‫de archivos, o mejores capacidades

60
00:02:50,515 --> 00:02:53,054
‫de red no son posibles con

61
00:02:53,054 --> 00:02:55,630
‫NodeJS y todos estos factores juntos nos

62
00:02:55,630 --> 00:02:59,750
‫brindan las condiciones perfectas para usar NodeJS como servidor web, lo

63
00:02:59,750 --> 00:03:02,327
‫que significa que ahora finalmente podemos usar

64
00:03:02,327 --> 00:03:05,550
‫JavaScript en el lado del servidor del desarrollo

65
00:03:05,550 --> 00:03:08,020
‫web para construir aplicaciones de red

66
00:03:08,020 --> 00:03:10,810
‫rápidas y altamente escalables para impulsar el

67
00:03:10,810 --> 00:03:13,540
‫back-end. para sitios web o aplicaciones web.

68
00:03:13,540 --> 00:03:15,990
‫Y esto es absolutamente

69
00:03:15,990 --> 00:03:19,030
‫fantástico y revolucionario para el desarrollo web.

70
00:03:19,030 --> 00:03:22,103
‫Entonces, ahora echemos un vistazo a algunos casos de uso

71
00:03:22,103 --> 00:03:25,703
‫de Node y por qué es tan bueno para el desarrollo de back-end.

72
00:03:27,010 --> 00:03:29,430
‫Y lo primero de lo que debemos hablar

73
00:03:29,430 --> 00:03:31,060
‫es del hecho de

74
00:03:31,060 --> 00:03:34,603
‫que las aplicaciones de Node son tan rápidas y escalables porque

75
00:03:34,603 --> 00:03:36,705
‫NodeJS es de un solo subproceso

76
00:03:36,705 --> 00:03:40,110
‫basado en un modelo de E / S sin bloqueo

77
00:03:40,110 --> 00:03:43,932
‫controlado por eventos que hace que NodeJS sea muy liviano y eficiente.

78
00:03:43,932 --> 00:03:47,140
‫Ahora, eso, por supuesto, suena muy complicado, lo sé, pero

79
00:03:47,140 --> 00:03:50,040
‫una vez más vamos a hablar sobre lo que

80
00:03:50,040 --> 00:03:52,146
‫significa exactamente todo esto un poco

81
00:03:52,146 --> 00:03:54,110
‫más tarde en el curso.

82
00:03:54,110 --> 00:03:56,250
‫Pero, por ahora, solo tenga en

83
00:03:56,250 --> 00:03:59,052
‫cuenta que Node es perfecto para crear aplicaciones

84
00:03:59,052 --> 00:04:02,910
‫web con un uso intensivo de datos súper rápido y escalable.

85
00:04:02,910 --> 00:04:06,280
‫Y eso hace que NodeJS sea la opción perfecta

86
00:04:06,280 --> 00:04:08,580
‫para construir todo tipo de

87
00:04:08,580 --> 00:04:11,830
‫aplicaciones diferentes, como construir una API con una

88
00:04:11,830 --> 00:04:16,830
‫base de datos detrás y preferiblemente una base de datos NoSQL no relacional

89
00:04:17,090 --> 00:04:20,250
‫como MongoDB, y esto es exactamente lo que

90
00:04:20,250 --> 00:04:24,568
‫haremos más adelante en este curso. sumérjase cada vez más en NodeJS.

91
00:04:24,568 --> 00:04:27,350
‫Pero, por supuesto, hay todo tipo de otras

92
00:04:27,350 --> 00:04:30,007
‫aplicaciones que podemos crear, como aplicaciones de

93
00:04:30,007 --> 00:04:33,739
‫transmisión de datos como YouTube o Netflix, aplicaciones de chat en

94
00:04:33,739 --> 00:04:36,600
‫tiempo real o incluso aplicaciones web del lado

95
00:04:36,600 --> 00:04:39,430
‫del servidor donde todo el contenido simplemente se

96
00:04:39,430 --> 00:04:42,055
‫genera directamente en la servidor, como

97
00:04:42,055 --> 00:04:44,684
‫puede ver, las posibilidades son realmente infinitas.

98
00:04:44,684 --> 00:04:47,650
‫Pero, en realidad, también hay un tipo de aplicaciones

99
00:04:47,650 --> 00:04:49,990
‫que no deberíamos construir con Node.

100
00:04:49,990 --> 00:04:51,890
‫Y aquí es cuando

101
00:04:51,890 --> 00:04:54,380
‫nuestra aplicación necesita un procesamiento súper pesado

102
00:04:54,380 --> 00:04:57,750
‫del lado del servidor, como manipulaciones de imágenes, conversión

103
00:04:57,750 --> 00:05:01,270
‫de video, compresión de archivos o algo así, de acuerdo.

104
00:05:01,270 --> 00:05:04,930
‫Y aprenderá por qué es así una vez que

105
00:05:04,930 --> 00:05:07,410
‫profundicemos en cómo funciona realmente Node.

106
00:05:07,410 --> 00:05:09,500
‫Entonces, en este caso,

107
00:05:09,500 --> 00:05:14,010
‫es mejor usar algo como Ruby on Rails, PHP o Python.

108
00:05:14,010 --> 00:05:16,460
‫Debido a que NodeJS simplemente no

109
00:05:16,460 --> 00:05:19,910
‫se desarrolló para estos casos de uso y aunque existen

110
00:05:19,910 --> 00:05:22,480
‫soluciones para lidiar con ellos, siempre debemos usar

111
00:05:22,480 --> 00:05:25,157
‫la herramienta adecuada para la tarea en cuestión.

112
00:05:25,157 --> 00:05:28,361
‫Bien, estos son los tipos de aplicaciones

113
00:05:28,361 --> 00:05:31,977
‫que podemos y no podemos construir usando NodeJS.

114
00:05:31,977 --> 00:05:34,780
‫Y si elige usar Node, bueno, entonces

115
00:05:34,780 --> 00:05:37,540
‫está en buena compañía porque

116
00:05:37,540 --> 00:05:41,206
‫muchas compañías importantes como Netflix, Uber, PayPal, Ebay

117
00:05:41,206 --> 00:05:45,140
‫y muchas más ya han comenzado a usar NodeJS, lo

118
00:05:45,140 --> 00:05:48,910
‫que realmente demuestra que la tecnología es lo suficientemente

119
00:05:48,910 --> 00:05:52,850
‫estable en este punto como para ser utilizado en producción.

120
00:05:52,850 --> 00:05:56,125
‫Ahora, por supuesto, hay más razones para usar Node, y

121
00:05:56,125 --> 00:05:59,040
‫la más importante es probablemente que usar el mismo

122
00:05:59,040 --> 00:06:01,650
‫lenguaje en toda su pila, tanto en

123
00:06:01,650 --> 00:06:03,758
‫el front-end como en el

124
00:06:03,758 --> 00:06:07,420
‫back-end, es mucho más fácil para usted o para su equipo.

125
00:06:07,420 --> 00:06:09,010
‫En primer lugar, no

126
00:06:09,010 --> 00:06:11,070
‫es necesario que aprenda un nuevo

127
00:06:11,070 --> 00:06:13,580
‫lenguaje de programación para construir su back-end y,

128
00:06:13,580 --> 00:06:15,824
‫además, no tiene que seguir cambiando de

129
00:06:15,824 --> 00:06:18,450
‫lenguaje, lo que hará que todo el proceso de

130
00:06:18,450 --> 00:06:20,533
‫construcción sea más rápido y más eficiente.

131
00:06:20,533 --> 00:06:23,107
‫Créame, es realmente increíble

132
00:06:23,107 --> 00:06:26,230
‫poder usar JavaScript para construir su

133
00:06:26,230 --> 00:06:29,215
‫aplicación completa de principio a fin.

134
00:06:29,215 --> 00:06:31,727
‫Realmente es absolutamente fantástico.

135
00:06:31,727 --> 00:06:34,150
‫Y otra gran razón para

136
00:06:34,150 --> 00:06:38,502
‫usar Node es que hay una enorme biblioteca de paquetes o

137
00:06:38,502 --> 00:06:41,450
‫módulos de código abierto, como también podemos llamarlos,

138
00:06:41,450 --> 00:06:43,884
‫disponible para todos de forma gratuita.

139
00:06:43,884 --> 00:06:47,190
‫Se llama NPM y probablemente haya oído hablar de él o

140
00:06:47,190 --> 00:06:48,976
‫incluso ya lo haya usado.

141
00:06:48,976 --> 00:06:51,170
‫Y, por supuesto, también comenzaremos

142
00:06:51,170 --> 00:06:53,563
‫a usar paquetes directamente en la sección.

143
00:06:54,430 --> 00:06:56,920
‫Y, finalmente, también es bueno

144
00:06:56,920 --> 00:06:59,420
‫saber que existe una enorme comunidad

145
00:06:59,420 --> 00:07:02,020
‫activa de desarrolladores de Node que están

146
00:07:02,020 --> 00:07:05,650
‫mejorando constantemente NodeJS y ayudando a principiantes como usted.

147
00:07:05,650 --> 00:07:08,670
‫Y, entonces, realmente puede confiar en la

148
00:07:08,670 --> 00:07:11,929
‫tecnología para todos sus proyectos en los próximos años.

149
00:07:11,929 --> 00:07:15,343
‫Bien, esa fue una introducción muy breve y

150
00:07:15,343 --> 00:07:20,040
‫una descripción general de NodeJS y algunos de sus casos de uso.

151
00:07:20,040 --> 00:07:21,920
‫Entonces, para el resto de

152
00:07:21,920 --> 00:07:23,810
‫esta sección, ahora usaremos Node

153
00:07:23,810 --> 00:07:25,950
‫para crear un servidor web muy

154
00:07:25,950 --> 00:07:28,750
‫simple y construir una API extremadamente simple, para

155
00:07:28,750 --> 00:07:30,160
‫que pueda familiarizarse

156
00:07:30,160 --> 00:07:32,763
‫con los principios básicos del desarrollo de Node.

