Explorando las posiblidades de NodeJS

¿Qué es NodeJS?. Una pequeña introducción a la plataforma previa al comienzo del curso sobre NodeJS impartido por EscuelaIT.
16/04/2015 -

El pasado martes 14 de abril tuvimos una clase muy interesante junto a Jon Mircha @jonmircha y Erick Ruiz de Chavez @Erickrdch en la que pudimos conocer un poco sobre las características de la tecnología NodeJS, el tipo de programación que nos permite realizar y el tipo de proyectos que podemos acometer, así como las utilidades y herramientas que nos puede ofrecer a nivel de frontend y de desarrollo en general.

NodeJS es una plataforma basada en la máquina virtual de Javascript Chrome, conocida como V8. Con NodeJS podemos realizar aplicaciones de red rápidas y basadas en un modelo no bloqueante.

¿Qué significa esto?

NodeJS es un entorno de desarrollo con varias características importantes que deberíamos considerar en un lenguaje de programación:

  • Una gramática que define su sintaxis
  • Un compilador que lo interprete y ejecute
  • Mecanismos para interactuar con las partes externas al núcleo del lenguaje
  • Librerías estándar y utilidades para manejar las tareas del día a día

El motor V8 (la máquina virtual en la que está basada NodeJs) nos da la gramática, que conocemos del lenguaje Javascript, y nos permite compilar el código. Por otra parte el núcleo de NodeJS nos facilitan la parte de los mecanismos para interactuar con el exterior, con librerías estándar (consola, ficheros, red…) y utilidades (interprete, depurador, paquetes…).

Así pues NodeJs es un entorno de programación

Nos permite realizar cualquier tipo de aplicación y nos facilita el día a día en nuestro trabajo de desarrollo del lado del servidor.

El concepto de NodeJS se maneja desde la filosofía que conocemos de Ajax en los navegadores, es decir, tener un solo ciclo que controla todo el proceso de manera asíncrona. Eso quiere decir que el código no necesariamente se va a ejecutar en el orden en el que están dispuestas las líneas en el programa. En realidad se ejecuta todo de una vez, sin la existencia de tareas bloqueantes que obliguen al flujo del programa a detenerse en un punto hasta que termina un proceso. Si hay un proceso que ocupa mayor tiempo, como realizar una consulta a base de datos o a un servicio web, el código seguirá ejecutando la siguiente línea mientras ese proceso más largo acaba su ejecución.

NodeJS implementa los protocolos de comunicaciones más usados, como son HTTP, DNS, TLS, SSL o SPDY, de esta manera se moderniza el protocolo HTTP, con un rendimiento mucho superior y con un importante ahorro en costes de infraestructura.

Por otra parte NodeJS no sólo se limita a frontend o backend, pues también nos permite trabajar con hardware y programar microcontroladores y tener acceso a lo que se llama el "internet of things".

En síntesis

NodeJS es una plataforma de desarrollo de software creada en 2009
Es JavaScript del lado del servidor… y mucho más
La infraestructura de la máquina virtual V8 está escrita en C, por lo que es muy rápida.
Es multiplataforma por lo que podemos instalarlo en Linux, Windows, Mac, etc.
Es open source
Es asíncrono y orientado a eventos
Ideal para aplicaciones que consumen datos en tiempo real y se ejecutan a través de dispositivos distribuidos

Si eres frontend

Tiene muchas herramientas como Gulp o Grunt que te ayudarán en la productividad del día a día. Pero además representa la mejor opción para dar el salto a la programación del lado del servidor, o backend, pues ya sabes JavaScript y te facilitará mucho conocer ciertos mecanismos que seguramente ya uses cuando trabajas con Ajax.

Con todo ello puedes comenzar fácilmente tu carrera como Full Stack JavaScript Developer. Pero aunque ese no sea el objetivo, todos los módulos que hay disponibles te harán mejor frontend gracias a lo que aporta la comunidad: administradores de tareas, librerías y otros recursos…

Curso de básico a avanzado para el desarrollo en NodeJS

EscuelaIT imparte desde el 16 de abril un curso sobre NodeJS, una tecnología que hace posible la nueva web en tiempo real. En este curso cuatro semanas podrás desarrollar las habilidades necesarias para trabajar con NodeJS a nivel profesional.

NodeJS es el socio ideal de HTML5 para el desarrollo de aplicaciones complejas, donde se puede implementar fácilmente la comunicación bidireccional, que posibilita el desarrollo de aplicaciones que comunican entre todos los clientes del sitio en tiempo real. Este curso está pensado para proporcionar los conocimientos necesarios para programar y ejecutar aplicaciones de alto consumo con JavaScript del lado del servidor, el desarrollo basado en API REST y el desarrollo web con técnicas MVC.

Damos énfasis en un conocimiento detallado del "core" de NodeJS, para profundizar luego en el desarrollo profesional usando los frameworks más importantes basados en esta plataforma, como Express para implementar web fácilmente o Socket.io, para las aplicaciones en tiempo real.

Aún estás a tiempo de apuntarte al Curso de NodeJS