La semana pasada hablamos sobre npm, un gestor de paquetes para la plataforma Node de JavaScript. Lo cierto es que hemos hablado mucho sobre las diferentes herramientas de Node.js. Pero, ¿qué es Node.js, y para qué sirve?

En este artículo repasaremos algunos detalles básicos sobre esta herramienta tan importante para el desarrollo web moderno.

¿Qué es Node.js

Node.js®, Node.js, es un entorno en tiempo de ejecución multiplataforma para la capa del servidor (en el lado del servidor) basado en JavaScript.

Node.js es un entorno controlado por eventos diseñado para crear aplicaciones escalables, permitiéndote establecer y gestionar múltiples conexiones al mismo tiempo. Gracias a esta característica, no tienes que preocuparte con el bloqueo de procesos, pues no hay bloqueos.

¿Cómo funciona Node.js?

El diseño de Node.js está inspirado en sistemas como el Event Machine de Ruby o el Twisted de Python. Sin embargo, Node.js presenta un bucle de eventos como una construcción en tiempo de ejecución en lugar de una biblioteca. Este bucle de eventos es invisible para el usuario.

Otra característica especial de Node.js es que está diseñado para simplificar la comunicación. No tiene subprocesos, pero te permite aprovechar múltiples núcleos en su entorno y compartir sockets entre procesos.

Características principales de Node.js

Resumiendo, Node.js se ha hecho popular en los últimos años gracias a las siguientes características:

  • Velocidad. Node.js está construido sobre el motor de JavaScript V8 de Google Chrome, por eso su biblioteca es muy rápida en la ejecución de código.
  • Sin búfer. Las aplicaciones de Node.js generan los datos en trozos (chunks), nunca los almacenan en búfer.
  • Asíncrono y controlado por eventos.  Como hemos dicho anteriormente, las APIs de la biblioteca de Node.js son asíncronas, sin bloqueo. Un servidor basado en Node.js no espera que una API devuelva datos. El servidor pasa a la siguiente API después de llamarla, y un mecanismo de notificación de eventos ayuda al servidor a obtener una respuesta de la llamada a la API anterior.
  • Un subproceso escalable. Node.js utiliza un modelo de un solo subproceso con bucle de eventos. Gracias al mecanismo de eventos, el servidor responde sin bloqueos, como hemos dicho. Esto hace que el servidor sea altamente escalable comparando con los servidores tradicionales como el Servidor HTTP de Apache.

¿Para qué sirve Node.js?

Puedes utilizar Node.js para diferentes tipos de aplicaciones. Los siguientes son algunos de los ejemplos:

  • Aplicaciones de transmisión de datos (streaming)
  • Aplicaciones intensivas de datos en tiempo real
  • Aplicaciones vinculadas a E/S
  • Aplicaciones basadas en JSON:API
  • Aplicaciones de página única

¿Quíen usa Node.js?

Cómo debes imaginar, casi todas las marcas más importantes del mercado utilizan Node.js. A continuación tienes algunos ejemplos:

  • GoDaddy
  • Microsoft
  • eBay
  • General Electric
  • PayPal
  • Uber
  • NASA
  • Netflix
  • LinkedIn
  • Medium

Conclusión

Para concluir, las aplicaciones de Node.js son escritas en JavaScript - en lenguaje de la moda - y pueden ejecutarse en OS X, Microsoft Windows y Linux.

Desde mi punto de vista, Node.js ha significado un gran cambio en las tecnologías digitales de nuestro tiempo.

Si pretendes posicionarte correctamente y ser competitivo en el mercado actual, utilizar aplicaciones basadas en Node.js debe ser una opción. Si necesitas ayuda, ¡no dudes en contactarnos!

Usas Node.js en tus proyectos? ¡Coméntalo abajo!

Foto: @superohmo @freepik

Fuentes: