Node.js ¿Qué es y que podemos hacer con el? Tutorial en español

Node.js ¿Qué es y que podemos hacer con el? Tutorial en español

Node.js en español

Hola viajero web, en esta sección estaré subiendo tutoriales y todo tipo de artículos relacionados a Node.js, así que si estas interesado en aprender todo sobre Node.js a través de vídeos y post entretenidos, has llegado al lugar correcto, no olvides en compartir cada una de las clases para que me ayudes a seguir creando mas clases gratis como esta.

Si eres desarrollador comprender Node.js te abrirá la puerta a un mundo maravilloso que te permitirá crear aplicaciones sorprendentes, y tendrás acceso a cientos de complementos que existen al día de hoy al rededor de JavaScript.

Node.js ¿Qué es y que podemos hacer con el? Tutorial en español

by Juan Carlos García

21-Oct-2022

(4)


InicioNodeJS

Para comenzar este viaje iniciaré indicando ¿Qué es Node.js? Y su estrecho vinculo con JavaScript, veremos un poco de historia y como puedes instalarlo para que comiences a jugar con el.

¿Qué es Node.js?

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.js, 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.

¿Qué es el motor V8 de JavaScript?

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.

¿Cómo funciona Node.js?

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.

¿Cómo funcionan las tareas asíncronas en Node.js?

Node.js funciona bajo dos principios principalmente:

  • Uso no bloqueante
  • Event-driven I/O (Entradas y salidas controladas o impulsadas por eventos)

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:

  • Tecnologías tradicionales que tienen la capacidad de implementar servicios web, reciben una solicitud y crean un subproceso por cada solicitud entrante.
  • Node.js, solo crea un solo subproceso, como te mencione anteriormente y, no existe bloqueo de llamadas de entrada y salida, esto nos permite tener un sistema que admite miles de conexiones simúlatenas, sin colapsar la RAM de tu servidor.

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.

¿Cuáles son las ventajas de Node.js?

Respondamos a esta pregunta a través de la siguiente lista:

  1. La primera ventaja es que Node utiliza JavaScript, lo cual para muchos desarrolladores que lo usan para Front end, les sería menos complicado entender lo que pasa del lado del Back end.
  2. Node.js cuenta con una comunidad enorme, quien da soporte y crea librerías de código abierto que cientos de programadores pueden ocupar en sus proyectos.
  3. Gracias a las características que tiene este entorno de ejecución, es ideal para aplicaciones que requieren una comunicación en tiempo real como los Websockets o aplicaciones de red.
  4. Debido a que solo crea un subproceso, Node es capaz de soportar miles de conexiones simultaneas.

¿Cuál es la principal desventaja de Node.js?

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.

Instalación de Node.js en Windows

En Windows es bastante sencillo, ya que:

  1. Puedes ir a la página oficial (https://nodejs.org/es/) y descargar el instalador.
  2. Ahora ejecútalo y solo sigue las instrucciones y listo.
  3. Esto lo vemos en el primer capitulo de este curso.

Instalación de Node.js en Linux

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

Instalación de Node.js a través de NVM

¿Qué es NPM?

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.

Instalando NPM

sudo apt-get install npm

¿Qué podemos hacer con Node.js?

Con Node.js podemos crear poderosas aplicaciones que requieran una gran cantidad de solicitudes de entrada simultaneas, por ejemplo:

  • Páginas web
  • Servicios web
  • Chats
  • Servicios TCP
  • Etcétera.

Y dado que este post es parte de mi curso de creación de paginas web, te dejo tres ejemplos de lo que puedes hacer con Node.js:

  1. Crea una página web
  2. Envió de correos
  3. Conectar Node.js con MySQL.

Crea tu primera página web en Node.js

Me gustaría que empieces en este mundo de Node.js con este ejemplo básico pero potente, ya que no solo aprenderás a utilizar Node.js es su forma mas simple, si no que al final tendrás tu primera página web hecha en este fabuloso entorno de ejecución. En este primer capítulo aprenderás a configurar Express y Webpack.

Ver clase completa: Crea tu primera Página Web con NodeJS desde cero

 

Enviar correos con Node.js

En este vídeo mejoramos nuestra primera página web del capítulo anterior, donde agregamos toda una área de contacto para que los usuarios de una página puedan comunicarse vía correo electrónico con nosotros, así que aquí tienes ¿Cómo enviar correos con NodeJS y Nodemailer?

Ver clase completa: ¿Cómo enviar correos con nodemailer en Node.js?

 

Conectar MySQL con Node.js

Ahora que ya tienes una página web con su área de contacto establecida, es momento de almacenar todos esos correos de tus visitantes y así estar conectados con ellos de una forma súper sencilla, en esta clase aprenderás a conectar una base de datos MySQL a una página web hecha en Node.js, entra a la clase y descubre lo sencillo que es.

Ver clase completa: Conexión de MySQL con Node.js: página web con base de datos

 

Pagina completa con Node.js y HTML Webpack Plugin

Hasta este momento ya tienes una página total mente funcional, y como regalo quiero dejarte estos últimos dos vídeos que englobado en una sola clase donde desarrollamos una página web completa, la cual incluye, las siguientes secciones:

  • Home
  • Contacto
  • Categorías
  • Post

Y lo mejor es que tendrás acceso al código, modificarlo y tener una página lista para tu emprendimiento, te dejo el primer vídeo, visita el post para ver la parte final.

Ver clase completa: Múltiples HTML y Rutas con HTML Web Pack Plugin

 

Curso gratuito de de React JS desde Cero

En este punto estas listo para nuevos retos, te invito a revisar mi nuevo curso de React.js desde Cero, estoy seguro que te también te gustará.

 

Te felicito, si has seguido los vídeos has aprendido algunas cosas básicas respecto a Node.js y has creado una página web utilizando una biblioteca super conocida la cual es Express, espero te haya gustado, nos vemos en el siguiente post.

Juan Carlos

Juan Carlos García

Desarrollador de software / SEO

Durante años he desarrollado plataformas dedicadas al rastreo satelital y varios sitios web que se encuentran en la primera página de Google, y hoy quiero compartir contigo lo que se en tecnologías como: Node JS, PHP, C# y Bases de datos.

Si quieres apoyarme sígueme en mis redes sociales y suscríbete a mi canal de YouTube.

EWebik

Diseño de páginas web y aplicaciones moviles.

© 2024 EWebik