jueves, 5 de junio de 2014

Node.js Que es y para que sirve?


A continuación vamos a dar una breve explicación del entorno de programación Node.js. Intentaremos abordar las posibilidades que nos ofrecen a la hora de construir aplicaciones utilizando esta tecnología que cada vez esta mas de moda en el mundo de la programación.

Node.js es un entorno de programación basado en el lenguaje de programación Javascript,  actua en la capa del servidor. Fue creado para crear programas en red que fueran escalables fácilmente como por ejemplos Servidores Web.

Node.js al contrario que la mayoría del código Javascript no se ejecuta en el navegador sino que como hemos dicho arriba se ejecuta en la capa del servidor.

¿Por qué JavaScript?
JavaScript es un gran lenguaje para la programación asíncrona, ya que fue diseñado para ser usado en programación orientada a eventos en lugar de otro lenguajes orientados a objetos, como por ejemplo, Java. Es especialmente atractivo para realizar aplicaciones ‘no bloqueantes’ y de alta concurrencia y disponibilidad.

¿Qué problema resuelve Node?
La meta número uno declarada de Node es “proporcionar una manera fácil para construir programas de red escalables”. Node resuelve este problema cambiando la forma en que se realiza una conexión con el servidor. En lugar de generar un nuevo hilo de OS para cada conexión (y de asignarle la memoria acompañante), cada conexión dispara una ejecución de evento dentro del proceso del motor de Node. Node afirma que un servidor que lo ejecute puede soportar decenas de miles de conexiones concurrentes.

Node, ¿para qué sirve?
Como ha visto hasta ahora, Node está extremadamente bien diseñado para situaciones en que usted esté esperando una gran cantidad de tráfico y donde la lógica del lado del servidor y el procesamiento requeridos, no sean necesariamente grandes antes de responder al cliente. Aquí hay algunos buenos ejemplos en donde Node haría un gran trabajo:

Una API RESTful: Un servicio Web que proporcione una API RESTful toma algunos parámetros, los interpreta, arma una respuesta y descarga esa respuesta (usualmente una cantidad relativamente pequeña de texto) de vuelta al usuario. Esta es una situación ideal para Node, porque puede construirse para que maneje decenas de miles de conexiones.

Ventajas
Rapidez. Tanto en la ejecución, como en el desarrolo o la ejecución de pruebas unitarias.
Mejora en la experiencia de usuario. Su uso proporciona una mejor experiencia en UX.
Ahorro en infraestructura. Especialmente en el número de servidores necesarios para las aplicaciones. Por ejemplo, cuando LinkedIn migró todo su backend desde Ruby on Rails hacia Node.js redució desde 30 hasta 3 su número de servidores.
Conjunción entre BackEnd y FrontEnd. Los equipos de BackEnd y FrontEnd móvil pueden ser combinados en un conjunto único.
Flexibilidad.
Fácil de usar. Sobre todo si tienes experiencia con JavaScript.

Conclusión
Node.js es una plataforma basada en el motor de JavaScript V8 de Google que es utilizado en el navegador Chrome. Está pensada para facilitar el desarrollo de aplicaciones basadas en red, rápidas y fiables. Node.js utiliza un modelo I/O (entrada/salida) orientado a eventos y basado en el ‘no-bloqueo’, que lo hace ligero y eficiente, ideal para aplicaciones en tiempo real que hagan uso de datos intensivos y que se ejecuten a través de dispositivos distribuidos.

Node.js está liberado bajo la licencia MIT, y otros paquetes de licencias flexibles para componentes de software libre. Se puede descargar en forma de código fuente o instalador para Windows o Mac.

No hay comentarios:

Publicar un comentario

Registrate y Recibe noticias directo a tu correo, te invito a comentar las publicaciones