‫Narrador: Ahora, antes de sumergirnos en el código de NodeJS,
‫hagamos una descripción general de alto
‫nivel de lo que realmente es NodeJS,
‫para qué lo usamos y por qué usamos Node
‫en lugar de otras tecnologías.
‫Entonces, la definición oficial es que NodeJS
‫es un tiempo de ejecución
‫de JavaScript construido en el motor de código abierto V8 JavaScript de Google.
‫Ahora, ¿qué significa eso realmente?
‫Bueno, comencemos por tratar de comprender qué
‫son en realidad
‫JavaScript Runtime y el motor V8.
‫Entonces, probablemente ya hayas usado JavaScript
‫antes y probablemente siempre estuvo solo dentro de un navegador, ¿verdad?
‫Debido a que cualquier navegador entiende HTML, CSS
‫y JavaScript de forma nativa y no importa si
‫escribe JavaScript vanilla o algún
‫marco de JavaScript como React o código
‫Angular, eso es
‫solo JavaScript que se ejecuta directamente en el navegador.
‫Entonces, en este caso, el
‫navegador es el tiempo de ejecución de JavaScript.
‫Pero, ¿qué pasaría si pudiéramos sacar
‫JavaScript del navegador y
‫simplemente ejecutar el código JavaScript en otro
‫lugar sin todas las restricciones que tenemos en el navegador?
‫Bueno, resulta que realmente podemos.
‫Y la solución para esto, como
‫puede adivinar, se llama NodeJS, por lo que Node JS es
‫solo otro tiempo de ejecución de JavaScript.
‫Es como un contenedor, como un entorno,
‫en el que se puede
‫ejecutar un programa escrito en JavaScript, pero fuera de cualquier navegador.
‫Está bien, en realidad es un poco más
‫complejo que esto, por supuesto, pero por ahora, esto es suficiente.
‫Ahora bien, ¿quién ejecuta realmente el código
‫si no es el navegador?
‫Y ahí es donde entra en
‫juego el motor V8 desarrollado por Google.
‫Porque ahí es exactamente donde se
‫analizará y ejecutará el código JavaScript en NodeJS, ¿de acuerdo?
‫Entonces, espero que ahora la definición de NodeJS como
‫un tiempo de ejecución de JavaScript en el motor de JavaScript V8
‫tenga mucho más sentido y, nuevamente, esto es
‫solo una descripción general de muy
‫alto nivel de qué es Node y cómo funciona.
‫Vamos a entrar en muchos detalles sobre
‫cómo Node realmente funciona detrás de escena en
‫la siguiente sección, pero en este punto, solo quiero
‫que obtenga una descripción general rápida
‫para que pueda comenzar a aprender los fundamentos
‫de NodeJS en la práctica a lo largo de esta sección.
‫De todos modos, ahora que
‫tenemos JavaScript fuera del navegador
‫en una especie de entorno independiente
‫que solo NodeJS, podemos hacer muchas más cosas con
‫JavaScript que antes eran completamente imposibles, como
‫acceder al sistema
‫de archivos, o mejores capacidades
‫de red no son posibles con
‫NodeJS y todos estos factores juntos nos
‫brindan las condiciones perfectas para usar NodeJS como servidor web, lo
‫que significa que ahora finalmente podemos usar
‫JavaScript en el lado del servidor del desarrollo
‫web para construir aplicaciones de red
‫rápidas y altamente escalables para impulsar el
‫back-end. para sitios web o aplicaciones web.
‫Y esto es absolutamente
‫fantástico y revolucionario para el desarrollo web.
‫Entonces, ahora echemos un vistazo a algunos casos de uso
‫de Node y por qué es tan bueno para el desarrollo de back-end.
‫Y lo primero de lo que debemos hablar
‫es del hecho de
‫que las aplicaciones de Node son tan rápidas y escalables porque
‫NodeJS es de un solo subproceso
‫basado en un modelo de E / S sin bloqueo
‫controlado por eventos que hace que NodeJS sea muy liviano y eficiente.
‫Ahora, eso, por supuesto, suena muy complicado, lo sé, pero
‫una vez más vamos a hablar sobre lo que
‫significa exactamente todo esto un poco
‫más tarde en el curso.
‫Pero, por ahora, solo tenga en
‫cuenta que Node es perfecto para crear aplicaciones
‫web con un uso intensivo de datos súper rápido y escalable.
‫Y eso hace que NodeJS sea la opción perfecta
‫para construir todo tipo de
‫aplicaciones diferentes, como construir una API con una
‫base de datos detrás y preferiblemente una base de datos NoSQL no relacional
‫como MongoDB, y esto es exactamente lo que
‫haremos más adelante en este curso. sumérjase cada vez más en NodeJS.
‫Pero, por supuesto, hay todo tipo de otras
‫aplicaciones que podemos crear, como aplicaciones de
‫transmisión de datos como YouTube o Netflix, aplicaciones de chat en
‫tiempo real o incluso aplicaciones web del lado
‫del servidor donde todo el contenido simplemente se
‫genera directamente en la servidor, como
‫puede ver, las posibilidades son realmente infinitas.
‫Pero, en realidad, también hay un tipo de aplicaciones
‫que no deberíamos construir con Node.
‫Y aquí es cuando
‫nuestra aplicación necesita un procesamiento súper pesado
‫del lado del servidor, como manipulaciones de imágenes, conversión
‫de video, compresión de archivos o algo así, de acuerdo.
‫Y aprenderá por qué es así una vez que
‫profundicemos en cómo funciona realmente Node.
‫Entonces, en este caso,
‫es mejor usar algo como Ruby on Rails, PHP o Python.
‫Debido a que NodeJS simplemente no
‫se desarrolló para estos casos de uso y aunque existen
‫soluciones para lidiar con ellos, siempre debemos usar
‫la herramienta adecuada para la tarea en cuestión.
‫Bien, estos son los tipos de aplicaciones
‫que podemos y no podemos construir usando NodeJS.
‫Y si elige usar Node, bueno, entonces
‫está en buena compañía porque
‫muchas compañías importantes como Netflix, Uber, PayPal, Ebay
‫y muchas más ya han comenzado a usar NodeJS, lo
‫que realmente demuestra que la tecnología es lo suficientemente
‫estable en este punto como para ser utilizado en producción.
‫Ahora, por supuesto, hay más razones para usar Node, y
‫la más importante es probablemente que usar el mismo
‫lenguaje en toda su pila, tanto en
‫el front-end como en el
‫back-end, es mucho más fácil para usted o para su equipo.
‫En primer lugar, no
‫es necesario que aprenda un nuevo
‫lenguaje de programación para construir su back-end y,
‫además, no tiene que seguir cambiando de
‫lenguaje, lo que hará que todo el proceso de
‫construcción sea más rápido y más eficiente.
‫Créame, es realmente increíble
‫poder usar JavaScript para construir su
‫aplicación completa de principio a fin.
‫Realmente es absolutamente fantástico.
‫Y otra gran razón para
‫usar Node es que hay una enorme biblioteca de paquetes o
‫módulos de código abierto, como también podemos llamarlos,
‫disponible para todos de forma gratuita.
‫Se llama NPM y probablemente haya oído hablar de él o
‫incluso ya lo haya usado.
‫Y, por supuesto, también comenzaremos
‫a usar paquetes directamente en la sección.
‫Y, finalmente, también es bueno
‫saber que existe una enorme comunidad
‫activa de desarrolladores de Node que están
‫mejorando constantemente NodeJS y ayudando a principiantes como usted.
‫Y, entonces, realmente puede confiar en la
‫tecnología para todos sus proyectos en los próximos años.
‫Bien, esa fue una introducción muy breve y
‫una descripción general de NodeJS y algunos de sus casos de uso.
‫Entonces, para el resto de
‫esta sección, ahora usaremos Node
‫para crear un servidor web muy
‫simple y construir una API extremadamente simple, para
‫que pueda familiarizarse
‫con los principios básicos del desarrollo de Node.