JavaScript es uno de los 3 lenguajes en los que se basa el desarrollo frontend de aplicaciones web, los otros 2 siendo HTML y CSS. De los 3, es el que nos permite agregar «comportamiento» a nuestras aplicaciones, por lo que hoy en día es sumamente raro encontrar alguna aplicación web que no utilice JavaScript.
Sin embargo, antes de la aparición de NodeJS, era un lenguaje que solo era útil para desarrollo frontend. Esto ya que JavaScript siempre había sido un lenguaje interpretado por el navegador, y no se tenia un entorno o herramientas para poder utilizar el lenguaje para aplicaciones que no «vivieran» dentro de un navegador web.
Debido a esto, para poder desarrollar nuestras aplicaciones web, era necesario aprender otro lenguaje que pudieramos utilizar para el backend de la aplicación, como PHP, Java, Python o Ruby, entre otros.
Con la llegada de NodeJS, ya tenemos la posibilidad de desarrollar aplicaciones web (o cualquier tipo de aplicación) solo utilizando JavaScript como lenguaje. E incluso si contamos el uso de JSON (JavaScript Object Notation) y bases de datos NoSQL como MongoDB, podemos utilizar JavaScript incluso para las operaciones relacionadas con el almacenamiento de datos en nuestras aplicaciones.
Esta es una de las principales ventajas que se obtienen con el uso de NodeJS, pero no es la única.
¿Qué es NodeJS?
Además, NodeJS es un entorno sumamente eficiente, ya que promueve el uso de código no-bloqueante. Esto es, código en el que algunas lineas de código pueden ejecutarse, mientras algunas líneas previas a ella terminan su ejecución. Por lo que por ejemplo, si en nuestro código tenemos un llamado a una API de un tercero, o la obtención de data de una base de datos o archivo, se pueden ejecutar lineas de código posteriores a estos llamados, mientras estas se resuelven, lo que hace la aplicación mucho más rápida.
Como información adicional sobre el proyecto, NodeJS es open source, y utiliza la misma tecnología que el navegador Google Chrome para el interpretado de JavaScript (el motor V8).
Asimismo, NodeJS viene con un paquete de librerías (módulos) por defecto muy útiles para el procesamiento de archivos, networking, eventos, entre otras cosas. Y además, mediante el uso de npm, podemos hacer uso de una gran cantidad de librerias de terceros.
Publicado el 17 de octubre de 2019