¿Qué es NodeJS?
NodeJS es un entorno de tiempo de ejecución de JavaScript de código abierto y multiplataforma. ¡Es una herramienta popular para casi cualquier tipo de proyecto!
NodEJS ejecuta el motor JavaScript V8, el núcleo de Google Chrome, fuera del navegador. Esto permite que Node.js sea muy eficaz.
Una aplicación de Node.js se ejecuta en un solo proceso, sin crear un nuevo hilo para cada solicitud. Node.js proporciona un conjunto de primitivas de E/S asincrónicas en su biblioteca estándar que evitan que el código JavaScript se bloquee y, en general, las bibliotecas en Node.js se escriben utilizando paradigmas que no bloquean, lo que hace que el comportamiento de bloqueo sea la excepción en lugar de la norma.
Cuando Node.js realiza una operación de E/S, como leer de la red, acceder a una base de datos o al sistema de archivos, en lugar de bloquear el subproceso y desperdiciar ciclos de CPU en espera, Node.js reanudará las operaciones cuando regrese la respuesta.
Esto permite que Node.js maneje miles de conexiones simultáneas con un solo servidor sin presentar la carga de administrar la concurrencia de subprocesos, lo que podría ser una fuente importante de errores.
Node.js tiene una ventaja única porque millones de desarrolladores frontend que escriben JavaScript para el navegador ahora pueden escribir el código del lado del servidor además del código del lado del cliente sin necesidad de aprender un lenguaje completamente diferente.
En Node.js los nuevos estándares de ECMAScript se pueden usar sin problemas, ya que no tienes que esperar a que todos tus usuarios actualicen sus navegadores, tú eres el encargado de decidir qué versión de ECMAScript usar cambiando la versión de Node.js, y también puede habilitar funciones experimentales específicas ejecutando Node.js con banderas.