NodeJS es una plataforma runtime javascript que nos permite crear proyectos escalables usualmente aplicaciones del lado del servidor, aplicaciones de red, api rest etc.

Que es NodeJS

NodeJS es una plataforma runtime javascript que nos permite crear proyectos escalables usualmente aplicaciones del lado del servidor, aplicaciones de red, api rest etc, es conocido por su eficiencia y rapidez al compilar gracias al motor V8 de google, este motor es el mismo que utiliza el navegador Chrome y nos permite trabajar con la especificación ECMAScript (javascript) sin tener que preocuparnos por la compatibilidad con algún navegador, y esto significa muchas veces no tener que cambiar de lenguaje de programación cuando trabajamos en el backend y en el fronted, además de tener una comunidad inmensa aportando a su desarrollo.

Muchos lenguajes de programación para ejecutar procesos de manera concurrente y no bloquear deben crear hilos y manejar todos los posibles dificultades que esto acarrea, nodejs por el contrario corre en un único hilo que gracias a la librería libuv podemos ejecutar procesos de entrada y salida de manera asíncrona y no bloqueante.

Los principales conceptos en NodeJS

Si bien programamos con el estándar EmacScrip no significa que nodejs sea igual a javascript en el navegador, para empezar en el navegador nuestra entrada global es window, desde donde vamos a poder acceder a funciones sin tener que importarlas como por ejemplo console o Array (windows.console, windows.array) además de tener acceso al DOM y algunas apis de la web que no son necesarias en nodejs. En nodejs también tenemos una entrada principal y es global (global.buffer, global.Array), para explorar los objetos podemos utilizar el CLI de nodejs o RELP (Read-Eval-Print-Loop), donde podemos ver nuestros módulos core.

> node -p "Object.getOwnPropertyNames(global)"

Correr un script con NodeJS

Primero debemos instalar nodejs, usualmente en conjunto se instala npm (el gestor de paquetes) con el cual podremos extender las funcionalidades en nuestro proyecto, segundo y muy importante tener conocimientos mínimos del lenguaje javaScript.

Para correr un archivo .js desde nuestra terminal primero debemos crear nuestro archivo con contenido javascript y ubicarnos en la carpeta donde se encuentre ubicado ese archivo para escribir el siguiente comando.

> node file.js

O podemos utilizar RELP, el cual es un módulo que nos permite interactuar con nodejs desde la consola y también crear programas para la linea de comando.

> node
// Inicia el modo interactivo

Opciones de la linea de comando

Nodejs nos permite interactuar y configurar el runtime por medio de la linea de comandos mediante algunas opciones. Podemos ver las opciones con node --help.

Unas de las opciones más interesantes son print (-p o --print) y eval (-e o --eval) con los cuales vamos a poder probar rápidamente nuestro código sin tener que crear un archivo y sin tener que importar los módulos ya que en este contexto tenemos acceso a todos los core.

> node -p '"My platform is: " + os.platform()'