Última Actualización abril 20th, 2021 12:07 PM
Mar 10, 2021 NGuerrero Programacion 0
¿Te gustaría aprender Node js desde cero?
Tenemos los cursos que necesitas. ¡Haz clic aquí!
Node.js es un entorno de tiempo de ejecución multiplataforma de JavaScript orientado a eventos asíncronos de código abierto y basado en el motor V8 de Google.
Un dato muy interesante de Node, es respecto a sus creadores, ya que son los mismos quienes originalmente crearon JavaScript, lo cual da mucha confianza para utilizarlo.
Ahora ¿Si JavaScript es un leguaje que se ejecuta de lado del cliente, cómo es que Node.js lo puede utilizar del lado del servidor? Para responder esto, debemos hablar un poco sobre el motor V8.
V8 es el nombre asignado al motor de JavaScript que le permite a Google Crome interpretar este lenguaje y ejecutarlo de lado del cliente, Node.js ha tomado este mismo motor del lado del servidor o back end y convierte el código JavaScript en código de máquina.
Esto es una gran ventaja para nosotros los desarrolladores, ya que podemos utilizar el mismo lenguaje (JavaScript) tanto del lado del cliente como el servidor.
Node.js opera mediante un único proceso o hilo de ejecución, dicho hilo administra todo el flujo de trabajo de las solicitudes entrantes a través de tareas o subprocesos asíncronos.
Node.js funciona bajo dos principios principalmente:
Y ¿Estos dos conceptos a que se refieren? A continuación resumo ambos casos.
Cada solicitud de entrada que recibe Node.js es recibida y enviada a una tarea o hilo (threads) asíncrono, el conjunto de estos hilos es considerado un pool de threads.
Node.js utiliza la librería libuv para administrar y controlar todo el pool de threads, dicha librería se encarga de ejecutar el trabajo recibido en cada hilo y una vez completado, emite un evento que es recibido por Node.js, lo que indica que el proceso ha terminado.
Debido a lo anterior, podemos decir que Node.js es un entorno controlado por eventos, ya que cuando Node recibe una serie de eventos de entrada los procesa sin importar que en alguno de ellos exista una tarea bloqueante, Node.js seguirá procesando evento tras, evento.
Como puedes observar, cada tarea es independiente, lo que evita bloqueos entre subprocesos haciendo que Node sea un entorno de ejecución bastante rápido.
Ahora, respecto al consumo de recursos, este entorno tiene una gran ventaja respecto a otras tecnologías, por ejemplo:
Como programadores es muy importante comprender esto, sobre todo si vienes de programar en otros lenguajes de back end, ya que en la mayoría de ellos no existe esta sincronicidad en el hilo principal y, explícitamente debes indicar la programación en diferentes hilos.
Como recomendación, si vas adentrarte en el mundo de Node.js, debes comprender algo llamado promesas en JavaScript (promise in JavaScript), además de como utilizar los famosos callback, estos dos conceptos, creme te ayudarán bastante.
Respondamos a esta pregunta a través de la siguiente lista:
La desventaja de Node.js aparece cuando deseamos desarrollar una aplicación que hará uso intensivo del CPU, esto se debe al hecho intrínseco de su arquitectura de manejar un solo subprocesos para todas las conexiones entrantes.
El uso intensivo del CPU en un solo subproceso causa problemas en las nuevas solicitudes entrantes, ya que bloquea las conexiones entrantes al subproceso.
Creo que en este punto ya tienes bastante información respecto al entorno de Node.js ¿Qué te parece si lo comenzamos a utilizar? Para ello primero debemos saber como instalarlo y conocer a NPM.
En Windows es bastante sencillo, ya que:
En Linux lo podemos instalar a través de la terminal y lo haremos ejecutando los siguientes comandos.
sudo apt-get update
sudo apt-get install nodejs
NPM es un gestor de paquetes integrado en Node.js, el cual nos brinda acceso a cientos de librerías que podemos instalar en nuestros proyectos.
sudo apt-get install npm
Con Node.js podemos crear poderosas aplicaciones que requieran una gran cantidad de solicitudes de entrada simultaneas, por ejemplo:
Te dejo tres ejemplos de lo que puedes hacer con Node.js:
Te esperamos en los siguientes artículos en donde hablaremos más acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.
¿Te gustaría aprender Node js desde cero?
Tenemos los cursos que necesitas. ¡Haz clic aquí!
Powered by Facebook Comments
No related posts.
Abr 20, 2021 0
Abr 19, 2021 0
Abr 17, 2021 0
Abr 16, 2021 0
Abr 16, 2021 0
Abr 15, 2021 0
Abr 14, 2021 0
Abr 06, 2021 0
Abr 20, 2021 0
Abr 19, 2021 0
Abr 17, 2021 0