Qué es Node.js: Casos de uso comunes y cómo instalarlo

Node.js es un entorno de tiempo de ejecución de JavaScript que se utiliza para crear aplicaciones escalables del lado del servidor y de red a través de servidores privados virtuales. Ofrece operaciones de entrada/salida (E/S) no bloqueantes y está construido según una arquitectura asincrónica basada en eventos para ayudar a los desarrolladores a crear diversos proyectos de forma eficiente y sencilla.

Este artículo cubrirá cómo funciona node.js, y discutirá algunos de sus casos de uso comunes. También exploraremos las diferencias entre Node.js y npm. Por último, proporcionaremos un tutorial paso a paso sobre cómo instalar Node.js en Windows, macOS y Linux.

Descarga Glosario Completo de Desarrollo Web

Node.js es un entorno de ejecución de un solo hilo y multiplataforma basado en el motor V8 de JavaScript de Google Chrome. Es un software de código abierto para construir aplicaciones de red escalables y en tiempo real.

¿Cómo funciona Node.js?

En comparación con otra plataforma, Node.js tiene un flujo de trabajo particular. Funciona como un único proceso, lo que significa que no crea un nuevo hilo para cada petición. Un hilo es un conjunto de instrucciones que debe realizar el servidor.

Node.js emplea operaciones de E/S no bloqueantes: cuando un cliente envía una solicitud al servidor web, el bucle de eventos de un solo hilo la recoge y la envía a un worker thread (hilo trabajador) para su procesamiento.

En lugar de bloquear el hilo y desperdiciar recursos de la CPU esperando una respuesta, Node.js continuará trabajando en la siguiente tarea. De esta manera, puede manejar una cantidad masiva de peticiones simultáneas.

Dicho esto, Node.js no es adecuado para tareas que requieran un uso intensivo de la CPU, ya que podrían impedir que el hilo principal maneje otras peticiones, bloqueándolo efectivamente.

Arquitectura asincrónica

Como se ha comentado anteriormente, el hilo de Node.js no espera una respuesta y pasa a procesar una petición posterior. En la arquitectura asincrónica, el bucle de eventos opera de forma dirigida por eventos. Una vez que ha recibido una respuesta de la llamada anterior a la API, pone la respuesta en la cola de eventos.

El bucle de eventos terminará todas las peticiones anteriores y actuales antes de ejecutar una función de devolución de llamada para enviar la respuesta del servidor al cliente.

Dado que Node.js utiliza un bucle de eventos de un solo hilo, puede atender varias peticiones simultáneamente con tiempos de ejecución más rápidos y un menor uso de recursos.

En comparación, el software de arquitectura sincrónica realiza una tarea a la vez. Por lo tanto, el bucle de eventos sólo pasará a la siguiente si la tarea anterior ha terminado.

Explicación de cómo funcionan las arquitecturas sincrónicas y asincrónicas

Casos de uso de Node.js

Node.js es una buena solución para realizar tareas intensivas de datos o análisis en tiempo real, ya que tiene una arquitectura asincrónica y características de E/S sin bloqueo. Algunos casos de uso populares incluyen:

  • Chat en tiempo real. Node.js puede trabajar con programas de uso intensivo de datos, como las aplicaciones de chat, ya que maneja las tareas de E/S con eficacia. Utiliza tecnología push sobre sockets web, lo que permite la comunicación bidireccional entre servidores y clientes. Como resultado, el servidor no necesita mantener hilos separados para cada conexión abierta debido a la arquitectura asincrónica de un solo hilo de Node.js.
  • Streaming de datos. Node.js tiene módulos incorporados que soportan el flujo de datos, lo que permite la creación de flujos de lectura y escritura. Node.js ayudará a poner en cola los datos y distribuirlos de forma asincrónica sin bloqueos ni interrupciones. Es una buena opción para las empresas que cuentan con funciones de streaming que pueden procesar archivos mientras se cargan.
  • Proxies del lado del servidor. Node.js puede gestionar una cantidad masiva de conexiones simultáneas utilizando un enfoque de no bloqueo. Puede emplearse como un eficaz proxy del lado del servidor que recoge datos de varios recursos de terceros. En algunos casos, Node.js se utiliza para construir aplicaciones del lado del cliente para gestionar activos y hacer proxies y stubs de solicitudes de API.
  • Tableros de control del sistema. Gracias a la función de bucle de eventos de Node.js, puedes crear un panel de control basado en la web para comprobar el estado de cualquier servicio de forma asincrónica. Todo ello se puede informar en directo y en tiempo real de los estados de los servicios tanto internos como públicos.
  • API REST. Node.js cuenta con una serie de paquetes como Express.js y Koa.js que se pueden utilizar para construir aplicaciones web. Puede acelerar el proceso de integración de la API y ser la base de una API REST ligera y rápida.
  • Aplicaciones de una sola página (SPA). Las SPAs enteras se cargan en una sola página para una experiencia similar a la de una aplicación de escritorio. Como Node.js puede manejar llamadas asincrónicas de manera eficiente entre las operaciones pesadas de E/S, permite que las SPA tengan actualizaciones de datos sin refrescar la página.

También es importante tener en cuenta que Node.js soporta tanto el desarrollo de frontend como de backend. Estas son las razones por las que funciona para ambos:

  • Código reutilizable. Se pueden reutilizar múltiples componentes de Node.js tanto para el backend como para el frontend.
  • Alta eficiencia. El uso de Node.js puede reducir el cambio de contexto entre múltiples lenguajes de programación.

Node.js vs npm

Mientras que Node.js es un entorno de ejecución de JavaScript, el Node Package Manager o npm es una gran parte del ecosistema de Node.js.

Es un gestor de paquetes que permite a las comunidades de JavaScript y Node.js publicar y compartir sus módulos de node con otras personas. Esto hace que el proceso de desarrollo de aplicaciones sea más rápido y eficiente.

npm consta de dos partes:

  • Una herramienta de interfaz de línea de comandos (en inglés, command-line interface, CLI) para descargar y publicar paquetes.
  • Un repositorio en línea que almacena paquetes de JavaScript y Node.js.

npm alberga millones de paquetes descargables que están organizados en múltiples categorías. Está considerado como el mayor registro de software del mundo. Toda la biblioteca de módulos empaquetados se puede encontrar en el sitio web oficial.

Por defecto, npm viene con cada instalación de Node.js. Para utilizarlo, es necesario descargar los paquetes en el sitio web oficial.

Cómo instalar Node.js

Node.js se puede instalar de diferentes maneras. Estos son los métodos más convenientes para instalarlo dependiendo del sistema operativo, Windows, macOS y Linux:

Windows

Sigue estas instrucciones para instalar Node.js en un equipo con Windows:

  1. Descarga el instalador de Node.js directamente desde la web oficial.
  2. Haz doble clic en el archivo descargado, se abrirá la ventana de instalación de Node.js. Pulsa Next.
Ventana para empezar configuración de Nodejs
  1. Revisa el Acuerdo de Licencia de Usuario Final y marca I accept the terms in the License Agreement. Pulsa Next.
  2. Elige la carpeta de destino y pulsa Next.
Ventana para elegir la carpeta de destino
  1. Selecciona las características que se van a instalar. Si no estás seguro, deja los valores por defecto y pulsa Next.
Configurar las características que se van a instalar
  1. En la página siguiente, marca Automatically install the necessary tools. Haz clic en Next y luego en Install. Es posible que te pregunte si deseas permitir que el programa de instalación realice cambios, elige Yes.
  2. Una vez finalizada la instalación por defecto, se abrirá una ventana de símbolo del sistema para la configuración de herramientas adicionales. Pulsa dos veces cualquier tecla para continuar.
Ventana d símbolo del sistema
  1. Una vez finalizado el proceso, la interfaz te pedirá que pulses Enter para cerrar la ventana.
Visualización de la ventana al finalizar el proceso
  1. Para verificar la versión de Node.js, abre el símbolo del sistema y ejecuta el siguiente comando:
node -v
npm -v
Ventana de ejecución del comando en el símbolo del sistema

macOS

A continuación, se explica cómo instalar Node.js en un equipo macOS:

  1. Descarga la última versión del instalador Node.js desde la web oficial.
  2. Haz doble clic en el archivo descargado y se abrirá la ventana de instalación de Node.js. Haz clic en Continue.
Ventana instalación Node.js
  1. Revisa el Acuerdo de Licencia de Software y selecciona Continue.
  2. Selecciona la carpeta de destino y pulsa Continue.
Ventana para elegir carpeta de destino
  1. Revisa el tipo de instalación y pulsa Install.
  2. Comenzará el proceso de instalación.
  3. Tanto Node.js como NPM estarán disponibles después de la instalación. Pulsa Close para finalizar la instalación.
Ventana de finalización de la instalación
  1. A continuación, pulsa el icono de Launchpad en el dock y abre Terminal.
  2. Verifica la instalación de Node.js y NPM escribiendo los siguientes comandos:
node -v
npm -v
Comandos para verificar la instalación de Node.js

Linux

Sigue los siguientes pasos para instalar Node.js en Linux. En este tutorial usaremos Ubuntu.

Consejo profesional

Si estás utilizando un VPS de Hostinger, puede elegir una plantilla de sistema operativo con Node.js ya preinstalado.

  1. Haz clic en el botón Mostrar aplicaciones y abre Terminal.
  2. Ejecuta el siguiente comando para instalar Node.js:
sudo apt install nodejs
  1. Una vez que tu dispositivo Linux haya completado la instalación, tendrás que instalar NPM.
sudo apt install npm
Ventana de instalación de Node.js completada
  1. A continuación, verifica la versión de Node.js ejecutando estos comandos:
nodejs -v
npm -v
Comandos para verificar la versión de node.js

Conclusión

Node.js es un entorno de ejecución JavaScript de código abierto y multiplataforma que se utiliza para desarrollar aplicaciones escalables del lado del servidor y de red. Está basado en el motor de ejecución JavaScript V8 de Google Chrome.

El procesamiento de una solicitud con Node.js es eficiente y ligero. El software es adecuado para aplicaciones de uso intensivo de datos y en tiempo real, como chats en tiempo real, streaming de datos, proxies del lado del servidor, tableros de control del sistema, APIs REST y SPAs.

Para instalar Node.js en Windows y macOS, descarga el instalador desde la web oficial. Los usuarios de Linux tendrán que obtenerlo mediante un comando de Terminal.

Esperamos que este artículo te haya ayudado a entender Node.js. Si tienes alguna duda o sugerencia, déjala en la sección de comentarios más abajo.

Author
El autor

Diana Catalina Herrera Infante

Diana es una traductora con amplia experiencia en diferentes tipos de documentos, entre ellos tutoriales y artículos especializados en la creación de sitios web. Además, cuenta con experiencia en el área de marketing digital. En su tiempo libre le gusta hacer ejercicio y ver una buena película.