A no ser que hayan estado encerrados en su habitación los últimos años sin computador y sin Internet, entonces deben haber escuchado hablar mucho de JavaScript, de cómo su uso mejora la experiencia de usuario en las aplicaciones web y de cómo los navegadores lo usan día a día para optimizar los cómputos del lado del cliente.

Pero, ¿qué es JavaScript?

Para los que no lo saben, Javascript es un lenguaje creado por Netscape a mediados de los 90 con la finalidad de permitir a los desarrolladores embeber pequeños script en las páginas HTML e interactuar con el Modelo de Objetos del Documento (conocido como DOM por sus siglas en inglés). Estos scripts embebidos no son más que una especie de receta que es ejecutada por el navegador web y como no necesitan interacción alguna con el servidor, se dice que Javascript se ejecuta del lado del cliente.

¿Qué significa ejecutar JavaScript en un servidor?

JavaScript no está limitado sólo a los navegadores web, en realidad puede correr en cualquier ambiente que tenga instalado el interprete para sus instrucciones (también conocido como motor). Esta flexibilidad ha hecho que a partir del año 2000 haya una creciente proliferación de implementaciones de Javascript en el lado del servidor, siendo Node.js una de las más populares.

Ejecutar JavaScript en el servidor también significa que las mismas instrucciones que se usan para construir la interfaz de una aplicación web pueden usarse para construir el núcleo del sistema, la interacción con la capa de datos y de lógica del negocio.

Además JavaScript es un lenguaje muy poderoso y tiene una fuerte inclinación hacia paradigmas funcionales, esto lo hace muy atractivo para algunos desarrolladores.

Entonces, ¿qué es Node.js?

Node.js es una plataforma para el desarrollo de aplicaciones escalables construida sobre el intérprete de JavaScript de Google Chrome y puede ejecutarse en Windows, Linux o Mac OS X sin cambiar una línea de código.

Su diseño están enfocado en maximizar el rendimiento y la eficiencia. El sistema de comunicación no bloqueante y los eventos asíncronos lo convierten en una opción ideal para el desarrollo de aplicaciones que manejan datos tiempo real o de cómputo intensivo.

En otras palabras, node.js es un framework que trabaja sobre JavaScript que te proporciona herramientas para que puedas construir desde aplicaciones web hasta programas de cómputo intensivo.

Node.js se ha convertido en el rey de JavaScript en los servidores, no en vano lo usan gigantes de la computación como LinkedIn, eBay, Microsoft, PayPal, Groupon, Yahoo! y The New York Times en sus procesos críticos, y esto ya es mucho que decir.