¿Qué es Node JS?

Javascript se ha convertido en uno de los lenguajes de programación más famosos y utilizados en nivel mundial; implementándose para crear funciones para la web de la mano de programadores y diseñadores. Sin embargo, hace años era difícil pensar que un lenguaje como Javascript pudiera ejecutarse en un servidor fuera de su entorno original.

Node JS revolucionó el funcionamiento y aplicación de Javascript y eliminó las principales limitantes que tenía. Hoy día, node.js es un entorno que funciona en millones de sitios web y servidores, por lo que es importante comprender qué es y para qué sirve Node JS; de eso te hablamos en este artículo.

¿Qué es Node JS? Explicando su significado y la orientación a eventos

Node JS es un entorno de ejecución open source orientado a eventos y de un solo hilo, que además es de código abierto y multiplataforma. Funciona gracias a un motor de ejecución de Javascript originalmente creado para usarse en Google Chrome como servicio web.

Ahora bien, ¿qué significa todo esto? Para entenderlo tenemos que esclarecer cómo funcionaba originalmente Javascript y cómo Node JS revolucionó su concepto.

Hay que recordar que Javascript solamente podía ser utilizado del lado del cliente y de forma exclusiva en navegadores web.

Sin embargo, en el año 2009 se presenta Node JS, que básicamente era un entorno preparado con todo lo necesario para ejecutar Javascript fuera de un navegador. Esto permitió que el lenguaje de programación pudiera dimensionarse y evolucionar gracias a este entorno de ejecución menos limitado.

Node JS tomó la funcionalidad de ejecución del motor de código abierto V8 y lo aplicó a su estructura para trabajar de forma más eficiente en un servidor o computadora personal. Gracias a esto, se puede ejecutar Javascript con la misma eficiencia y rapidez que en un navegador, pero usando servidores, por ejemplo.

Ahora bien, ¿cómo funciona Node JS?

que es node js

Funcionamiento del entorno de ejecución Node JS

Node JS se caracteriza por tener un modelo de funcionamiento asíncrono y orientado a eventos y a bucle de eventos, pudiendo manejar múltiples clientes a la vez. Para entender cómo esto se traduce, hay que compararlo con el método de funcionamiento de sistemas multihilo en lenguajes como Javascript.

Un modelo síncrono puede ejecutar varias tareas a la vez, creando un hilo o subproceso para cada una de ellas. Es decir, cada una se ejecuta por separado y se cierra cuando la solicitud ha tenido respuesta.

El problema de este modelo es que mientras más solicitudes se gestionan más subprocesos o hilos se crean, lo que hace mayor consumo de RAM.

Node JS también es capaz de atender un sinnúmero de solicitudes, pero con la particularidad de tener un pool de hilos limitado.

Esto gracias a su sistema de loop o bucle, que a fines prácticos lo que hace es esperar indefinidamente las peticiones al servidor. En este bucle de eventos se crea una especie de cola con todas las peticiones que van llegando y se procesan todas a la vez.

No tiene que completarse la tarea 1 para que se ejecute la tarea 2, sino que todas se procesan de forma paralela en un proceso que no termina.

Esto permite un sistema de trabajo más eficiente, rápido y con menos gasto de recursos. Además, ya veremos que gracias a este método Node JS es especialmente ventajoso para ciertos tipos de aplicaciones en entornos de de servidor. Se puede usar para código tanto back end como front end.

Principales características del entorno de ejecución Node

  • No es un lenguaje de programación, sino un entorno para trabajar con lenguajes de programación como JavaScript.
  • Node JS está escrito en C, C++ y JavaScript, que son tipos de lenguajes de programación bastante conocidos y fáciles de usar.
  • Su sistema monohilo es escalable ya que permite manejar un gran número de conexiones a la vez sin que se afecte el rendimiento del servidor.
  • Este entorno es muy veloz gracias a su sistema de hilos sin bloqueo.
  • Node JS tiene a su disposición un amplio conjunto de paquetes de código abierto conocido como NPM; este es un ecosistema de más de 1 millón de paquetes.
  • Al ser multiplataforma puede ser utilizado en diferentes sistemas operativos como Windows, Linux o Mac.

¿Para qué sirve Node JS?: Usos prácticos del entorno de ejecución

Node JS es ampliamente usado para diferentes aplicaciones web que puede que incluso hayamos usado más de una vez.

En primera, su sistema monohilo sin bloqueos es especialmente útil para implementarse en aplicaciones que se ejecutan en tiempo real, como los chats. No es raro entonces que se utilice este entorno para la creación de chatbots, e incluso chats multipersonales y notificaciones push. En la creación y desarrollo web bajo este entorno, del lado del servidor  puedes usar llamada para un importante desempeño en conexiones simultáneas y también en el uso de base de datos como módulo con un tiempo de ejecución envidiable.

Aparte, este entorno rápido y eficaz es excelente para ejecutar aplicaciones de streaming de datos, como por ejemplo Netflix. También se utiliza Node JS para ejecutar aplicaciones SPA o aplicaciones basadas en Rest API.

Muchas empresas famosas hoy en día utilizan Node JS en sus aplicaciones web, y probablemente conozcamos o usemos la mayoría. A continuación algunos ejemplos:

  • Godaddy
  • Reddit
  • Spotify
  • Twitter
  • Netflix
  • LinkedIn
  • Paypal
  • NASA
  • eBay, etc.
node js que es

¿Cómo instalar Node JS?

Al ser un entorno multiplataforma puedes instalarlo en los principales SO que existen hoy día. Brevemente te explicamos cómo instalar Node JS en Microsoft, Linux y Mac OS.

Ten en cuenta que Node JS debe ser descargado desde el sitio oficial. En dicha página simplemente deberás bajar el archivo que corresponda con el sistema operativo que uses.

Windows

  • Haz doble clic sobre el archivo descargado con el instalador de Node JS.
  • Acepta los términos de instalación y elige el directorio deseado.
  • Presiona siguiente en los pasos que vienen hasta completar la instalación.

Mac OS

  • Al igual que en Windows deberás ir a la carpeta de descargas y abrir el instalador.
  • Acepta los términos y parámetros de la instalación para finalizar con la misma.
  • Una vez instalado utiliza la terminal y los comandos “Node –version” y “npm –version” para verificar que se hayan instalado correctamente. Ahora si podrás trabajar con tu lenguaje de programación apropiado.

Linux

Ten en cuenta que Linux cuenta con un gran número de distribuciones y en cada una el proceso varía. Nos enfocaremos en el servidor Ubuntu, la distribución más famosa de Linux.

  • Para instalar Node JS usando el repositorio oficial de Ubuntu solo debes abrir tu terminal y copiar el comando “Sudo apt instalar nodejs”.
  • Verifica que se haya instalado correctamente y ello lo puedes hacer revisando la versión de Node. El comando “Node -v” te ayudará en esto.
  • Si deseas instalar el paquete NPM con Node js coloca el comando “sudo apt install npm”.
  • Finalmente verifica la versión instalada copiando “npm -v” en la terminal.

Un poco de historia sobre Node js

Aunque Node js existe en el mercado desde 2009, su origen se remonta a unos años antes. Ryan Dahl fue el creador del entorno de ejecución y lo presentó por primera vez en el evento de la conferencia para desarrolladores European JSConf de 2009.

¿Quién es Ryan Dahl?

Aunque Dahl nació en la ciudad de Beaverton, Oregón, en Estados Unidos, pasó gran parte de su niñez y adolescencia en Kenia. Es allí donde comenzó a interesarse por la informática.

A los 16 años suplos 16 años Dahl se mudó de nuevo a los Estados Unidos y ahí fue donde comenzó su carrera en la industria de TI. Comenzó trabajando como desarrollador web para MySpace, pero pronto se cansó del mundo corporativoa partir de ahí Dahl se dedicó a trabajar en proyectos de código abierto. Es así como nace Node JS. Dahl quería crear un entorno de ejecución que fuera rápido y eficiente, algo que le permitiera a los desarrolladores obtener mejores prestaciones con el mínimo de recursos de hardware.

Algunos de los objetivos al momento de crear Node js eran los siguientes:

– Crear un sistema monohilo sin bloques.

– Ofrecer mayor eficiencia y rendimiento en la programación web mediante eventos.

– Aumentar el nivel de interacción entre cliente y servidor, es decir crear una comunicación en tiempo real en el servidor.

Conclusión

Como ya te hemos mencionado, Node js se ha ido popularizando al grado de que hoy en día se encuentra entre los 10 entornos de programación de servidor más utilizados a nivel mundial.

Node js es uno de los entornos de ejecución en JavaScript más utilizados hoy en día, y cada vez son más las empresas que lo adoptan como herramienta para la creación de sus aplicaciones web, ya sea porque ofrece un rendimiento óptimo o porque permite trabajar con el mismo lenguaje de programación en el cliente y el servicio.

Comenta lo que quieras

Unete a la charla
Solo ingresa tu email