Node.js Tutorial: Aprende en 3 días

Introducción a Node.js

La aplicación web moderna realmente ha recorrido un largo camino a través de los años con la introducción de muchos marcos populares como bootstrap, Angular JS, etc. Todos estos marcos se basan en el popular marco de JavaScript.

Pero cuando se trataba de desarrollar aplicaciones basadas en servidor, había una especie de vacío, y aquí es donde Node.js entró en la imagen.

Node.js también se basa en el marco de JavaScript, pero se utiliza para desarrollar aplicaciones basadas en servidor. Mientras pasamos por todo el tutorial, veremos en Node.js en detalle y cómo podemos usarlo para desarrollar aplicaciones basadas en servidor.

Plan de estudios

1) Cómo descargar e instalar Node.js – NPM en Windows
2) Node.js NPM Tutorial: Crear, Publicar, Extender y Administrar
3) Crear servidor web HTTP en Node.js: Tutorial completo
4) Node.js Express Framework Tutorial – Aprende en 10 minutos
5) Node.js MongoDB Tutorial con ejemplos
6) Node.js Promise Tutorial
7) Bluebird Promesas Tutorial
8) Generadores Node.js y comparación con devoluciones de llamada
9) Node js Streams Tutorial: Filestream, Pipes
10) Crear servidor web HTTP en Node.js: Tutorial completo

¿Qué es Node.js?

Node.js es un entorno de tiempo de ejecución multiplataforma de código abierto utilizado para el desarrollo de aplicaciones web del lado del servidor. Las aplicaciones Node.js están escritas en JavaScript y se pueden ejecutar en una amplia variedad de sistemas operativos.

Node.js se basa en una arquitectura impulsada por eventos y una API de entrada/salida sin bloqueo que está diseñada para optimizar el rendimiento y la escalabilidad de una aplicación para aplicaciones web en tiempo real.

Durante un largo período de tiempo, el marco disponible para el desarrollo web se basó en un modelo sin estado. Un modelo sin estado es donde los datos generados en una sesión (como la información de configuración del usuario y los eventos que ocurrieron) no se guardan para su uso en la siguiente sesión con ese usuario.

Había que hacer mucho trabajo para mantener la información de la sesión entre las solicitudes de un usuario. Pero con Node.js, finalmente hay una forma de que las aplicaciones web tengan conexiones bidireccionales en tiempo real, donde tanto el cliente como el servidor pueden iniciar la comunicación, permitiéndoles intercambiar datos libremente.

¿Por qué usar Node.js?

Vamos a echar un vistazo al valor real de Node.js en los próximos capítulos, pero ¿qué es lo que hace que este marco sea tan famoso? A lo largo de los años, la mayoría de las solicitudes se basaban en un marco de solicitud y respuesta sin estado. En este tipo de aplicaciones, depende del desarrollador asegurarse de que el código correcto se puso en marcha para garantizar que el estado de la sesión web se mantuvo mientras el usuario estaba trabajando con el sistema.

Pero con las aplicaciones web Node.js, ahora puede trabajar en tiempo real y tener una comunicación de 2 vías. El estado se mantiene y el cliente o el servidor pueden iniciar la comunicación.

Características de Node.js

Veamos algunas de las características clave de Node.js

  1. IO asincrónico impulsado por eventos ayuda al manejo simultáneo de solicitudes: este es probablemente el punto de venta más significativo de Node.js. Esta característica básicamente significa que si Node recibe una solicitud para alguna operación de entrada/salida, ejecutará la operación en segundo plano y continuará con el procesamiento de otras solicitudes.

Esto es bastante diferente de otros lenguajes de programación. Un ejemplo simple de esto se da en el siguiente Código

  • El fragmento de código anterior analiza la lectura de un archivo llamado Sample.txt. En otros lenguajes de programación, la siguiente línea de procesamiento solo ocurriría una vez que se lee todo el archivo.
  • Pero en el caso de Node.js, la fracción importante del código a notar es la declaración de la función (‘función (error, datos) ‘). Esto se conoce como una función de devolución de llamada.
  • Entonces, lo que sucede aquí es que la operación de lectura de archivos comenzará en segundo plano. Y otro procesamiento puede ocurrir simultáneamente mientras se lee el archivo. Una vez completada la operación de lectura de archivos, se llamará a esta función anónima y el texto “Lectura de datos completada” se escribirá en el registro de la consola.
  1. Node utiliza el motor de tiempo de ejecución de JavaScript V8, el que utiliza Google Chrome. Node tiene un contenedor sobre el motor JavaScript que hace que el motor de tiempo de ejecución sea mucho más rápido y, por lo tanto, el procesamiento de solicitudes dentro de Node también se vuelve más rápido.
  2. Manejo de solicitudes simultáneas: otra funcionalidad clave de Node es la capacidad de manejar conexiones simultáneas con una sobrecarga mínima en un solo proceso.
  3. La biblioteca Node.js usa JavaScript: este es otro aspecto importante del desarrollo en Node.js. Una parte importante de la comunidad de desarrollo ya está bien versada en javascript, y por lo tanto, el desarrollo en Node.js se vuelve más fácil para un desarrollador que conoce javascript.
  4. Hay una comunidad activa y vibrante para el marco Node.js. Debido a la comunidad activa, siempre hay actualizaciones de claves disponibles para el marco. Esto ayuda a mantener el framework siempre actualizado con las últimas tendencias en desarrollo web.

Quién usa Node.js

Node.js es utilizado por muchas grandes empresas. A continuación se muestra una lista de algunos de ellos.

  • Paypal — Muchos sitios dentro de Paypal también han comenzado la transición a Node.js.
  • LinkedIn – LinkedIn está usando Node.js para alimentar sus servidores móviles, que alimenta los productos web para iPhone, Android y móviles.
  • Mozilla ha implementado Node.js para admitir API de navegador que tiene 500 millones de instalaciones.
  • eBay aloja su servicio API HTTP en Node.js

Cuándo usar Node.js

Node.js es mejor para su uso en streaming o aplicaciones en tiempo real basadas en eventos como

  1. Aplicaciones de chat
  2. Servidores de juegos: servidores rápidos y de alto rendimiento que necesitan procesar miles de solicitudes a la vez, entonces este es un marco ideal.
  3. Buen entorno colaborativo: esto es bueno para entornos que administran documentos. En un entorno de administración de documentos, tendrá varias personas que publican sus documentos y realizan cambios constantes mediante la protección y protección de documentos. Por lo tanto, Node.js es bueno para estos entornos porque el bucle de eventos en Node.js se puede activar cada vez que los documentos se cambian en un entorno administrado por documentos.
  4. Servidores de publicidad: de nuevo aquí puede tener miles de solicitudes para extraer anuncios del servidor central y Node.js puede ser un marco ideal para manejar esto.
  5. Servidores de transmisión — Otro escenario ideal para utilizar Node es para servidores de transmisión multimedia en los que los clientes tienen solicitudes para extraer diferentes contenidos multimedia de este servidor.

Node.js es bueno cuando necesita altos niveles de concurrencia pero menos cantidad de tiempo dedicado de CPU.

Lo mejor de todo, dado que Node.js está construido en javascript, es el más adecuado cuando construyes aplicaciones del lado del cliente que se basan en el mismo marco javascript.

Cuándo no usar Node.js

Node.js se puede usar para muchas aplicaciones con varios propósitos. El único escenario en el que no se debe usar es donde hay tiempos de procesamiento largos, que es requerido por la aplicación.

El nodo está estructurado para ser de un solo subproceso. Si se requiere que una aplicación lleve a cabo algunos cálculos de larga duración en segundo plano, no podrá procesar ninguna otra solicitud. Como se mencionó anteriormente, Node.js se usa mejor donde el procesamiento necesita menos tiempo dedicado de CPU.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *