¿Qué es NodeJs y para que nos sirve?

Introducción a NodeJs, como funciona este y para que tipo de aplicaciones se recomienda.

Rodríguez Patiño, Eduardo
2020-09-28 | 618 lecturas

NodeJs ya tiene cierto tiempo desde que ha sido liberado pero es hora de comenzar hablar sobre esta tecnología en la cual quiero orientar mis futuros proyectos porque digamos que después de 8 años de haber trabajado con .NET ando algo medio saturado de este. NodeJs no es mejor que .NET, ni .NET es mejor que NodeJs, simplemente quiero cambiar de panaroma y hacer cosas nuevas.

¿Qué es?

Es un entorno de ejecución para JavaScript construido sobre el motor V8 que nos permite crear aplicaciones back-end (del lado del servidor) haciendo uso de JavaScript.

Quiere decir que si sabes JavaScript, ya solo te quedaría pulir ciertos detalles sobre NodeJs porque "el como programar" ya lo tienes.

¿En qué destaca?

NodeJs destaca en que no hay que preocuparnos en el bloqueo de hilo, porque su API ejecuta todo el código de manera asíncrona facilitando la creación de aplicaciones escalables y de alta concurrencia.

Es decir, que casi no vamos a encontrar dentro de su código funciones que genere bloqueo de hilo.

Sino entiendes que es un hilo de ejecución, la programación asíncrona, te recomendamos darle una leída rápida al siguiente artículo.

Event Loop

NodeJs procesa un solo hilo de ejecución para atender a todas las solicitudes y para resolver el bloqueo de este implementa el concento de Event Loop el cual atiende al código asíncrono que se ejecute para asignarlo dentro de otro y evitando de esta manera el bloqueo del hilo.

Ventajas

Vamos a mencionar algunas ventajas de crear aplicaciones sobre NodeJs.

  • Si ya sabes JavaScript, ya tienes una tarea menos por preocuparte.
  • La API de NodeJs y librería de terceros ya vienen con funciones o métodos para escribir código asíncrono, asi que otra preocupación menos.
  • Muchas de las librerías que usamos en JavaScript estan disponibles en NodeJs también, por ejemplo moment.js.
  • Curva de aprendizaje reducida, el mismo hecho si ya conocemos JavaScript nos va a reducir la curva de aprendizaje.
  • Bastante popular por lo cual si tienes problemas/dudas técnicas es muy probable que la solución ya lo encuentres gracias a la comunidad.
  • Grandes empresas lo usan como PayPal, Ebay, la NASA, Linkedin, Netflix, entre otros.
  • Buena propuesta para APIs y Microservicios.

Desventajas

A simple vista no encontramos nada malo pero yo diría que con solo JavaScript vamos a tener problemas en proyectos grandes porque no es fuertemente tipado, así que yo recomendaría implementar TypeScript para reemplazar a JavaScript.