¿Qué tiene de bueno NodeJS?

NodeJS es un entorno opensource de desarrollo de software o programación que nació en 2009 de la mano de Ryan Dahl, con el objetivo de cubrir ciertas necesidades de los programadores a la hora de trabajar con Javascript del lado del servidor.

Este framework multiplataforma válido para Windows, Mac, Linux, etc., orientado a eventos y  basado en el motor de JavaScript V8, el mismo que utiliza Google Chrome, ha servido para el desarrollo de herramientas como Grunt, Yeoman o Meteor JS  y son ejemplos claros del potencial y versatilidad de NodeJS en desarrollo web.

nodejs

Durante los primeros años de andadura de NodeJS, la plataforma sufrió innumerables cambios que obligaban a los programadores a estar continuamente actualizando sus conocimientos y códigos anteriores.  Posteriormente, se decidió no modificar la API  y mantener la arquitectura, para que los cambios solo sucediesen a nivel interno, facilitando así la programación.

Básicamente, NodeJS se utiliza para implementar operaciones de entrada y salida en redes informáticas mediante diversos protocolos,  permitiendo además realizar aplicaciones de red rápidas que se basen en un modelo no bloqueante. Resulta ideal para aplicaciones que consuman datos en tiempo real y que se ejecutan a través de dispositivos distribuidos.

Gracias al motor V8, se obtiene la gramática del lenguaje JavaScript, además de permitir la interpretación del código. Es, sin embargo, el núcleo de NodeJS el que provee al usuario de los mecanismos necesarios para la interacción con el exterior, dotándole de librerías estándar (ficheros, red, consolas, etc) y de diversas utilidades para facilitar y simplificar el manejo de las tareas más habituales.

Una de las ventajas que presenta NodeJS es que al trabajar de forma asíncrona, como en segundo plano, permite agilizar los procesos. Es decir, el código no tiene por qué ejecutarse exactamente en el orden en que viene escrito, sino que NodeJS las ejecuta al mismo tiempo sin que las más arduas tareas bloqueen a las más livianas. Esto permite que el código se siga ejecutando sin interrupción mientras se llevan a cabo los procesos más largos.

Además, NodeJS implementa los protocolos de comunicaciones más comunes, como HTTP, SSL, DNS, SPDY o TLS, modernizando el protocolo HTTP, mejorando su rendimiento y permitiendo un gran ahorro en costes de infraestructura.

Aunque se trate de un framework orientado principalmente al Back-end, para los programadores Front-end ofrece diversas herramientas como Gulp o Grunt que ayudan a mejorar la productividad del trabajo diario. Pero NodeJS no se limita al Front-end y el Back-end, sino que, además, permite trabajar con hardware y programar microcontroladores y tener acceso a la denominada Internet de las cosas. La suma de todas estas cualidades permite a los profesionales utilizar NodeJS para trabajar como Full Stack JavaScript Developer.

Por último, destacamos que el hecho de que sea un framework opensource permite el acceso a innumerables recursos proporcionados por los usuarios, como son las librerías, manuales en varios idiomas (aunque el inglés es el más común), foros, administradores de tareas, etc.