Tutorial de Node.js para principiantes

Introducciรณn a Node.js

La aplicaciรณn web moderna realmente ha recorrido un largo camino a lo largo de los aรฑos con la introducciรณn de muchos marcos populares como bootstrap, Angular JS, etc. Todos estos marcos se basan en el popular JavaScript marco de referencia.

Pero cuando se trataba de desarrollar aplicaciones basadas en servidor, habรญa una especie de vacรญo, y aquรญ es donde Node.js entrรณ en escena.

Node.js tambiรฉn se basa en el JavaMarco de scripts, pero se utiliza para desarrollar aplicaciones basadas en servidor. A lo largo del tutorial, analizaremos Node.js en detalle y veremos cรณmo podemos usarlo para desarrollar aplicaciones basadas en servidor.

๐Ÿ‘‰ Descargar tutorial de Node.js en PDF

Programa de estudios de Node.js

Conceptos bรกsicos de Node.js para principiantes

๐Ÿ‘‰ Lessel 1 Descargar e instalar Node.js โ€” Cรณmo descargar e instalar Node.js y NPM en Windows
๐Ÿ‘‰ Lessel 2 Tutorial de NPM de Node.js โ€” Crear, publicar, ampliar y gestionar
๐Ÿ‘‰ Lessel 3 Crear un servidor web HTTP en Node.js โ€” Tutorial con ejemplo de cรณdigo

ยกCosas avanzadas de Node.js!

๐Ÿ‘‰ Lessel 1 Tutorial de Node.js Express Framework โ€” Aprende en 10 minutos
๐Ÿ‘‰ Lessel 2 Node.js MongoDB Tutorial โ€” Una guรญa completa con ejemplos
๐Ÿ‘‰ Lessel 3 Tutorial de promesa de Node.js โ€” Una guรญa completa para el JavaPromesas del guiรณn
๐Ÿ‘‰ Lessel 4 Tutorial de promesas de Bluebird โ€” Una guรญa completa de las promesas de Bluebird
๐Ÿ‘‰ Lessel 5 Node.js Generators - Quรฉ es, devoluciones de llamada frente a Node.js Generators
๐Ÿ‘‰ Lessel 6 Tutorial de transmisiones de Node js โ€” Flujo de archivos, tuberรญas
๐Ÿ‘‰ Lessel 7 Tutorial de pruebas unitarias de Node.js con Jasmine โ€” Una guรญa completa
๐Ÿ‘‰ Lessel 8 Tutorial de GraphQL - ยฟQuรฉ es GraphQL? Aprende con el ejemplo

ยกConozca la diferencia!

๐Ÿ‘‰ Lessel 1 GraphQL frente a DESCANSO - ยฟCual es la diferencia?
๐Ÿ‘‰ Lessel 2 Node.Js frente a AngularJS - Conozca la diferencia
๐Ÿ‘‰ Lessel 3 Node.js frente a Python - ยฟCual es la diferencia?

Preguntas de la entrevista y tutorial de Node.js PDF

๐Ÿ‘‰ Lessel 1 Preguntas de la entrevista de Node.js โ€” Las 25 preguntas y respuestas principales de la entrevista de Node.js

ยฟQuรฉ es Node.js?

Node.js es un entorno de ejecuciรณn multiplataforma de cรณdigo abierto que se utiliza para el desarrollo de aplicaciones web del lado del servidor. Las aplicaciones Node.js estรกn escritas en JavaScript y se puede ejecutar en una amplia variedad de sistemas operativos.

Node.js se basa en una arquitectura basada en eventos y una API de entrada/salida sin bloqueo que estรก diseรฑada para optimizar el rendimiento y la escalabilidad de una aplicaciรณn para aplicaciones web en tiempo real.

Durante un largo perรญodo de tiempo, todos los marcos disponibles para el desarrollo web se basaron en un modelo sin estado. Un modelo sin estado es aquel en el que los datos generados en una sesiรณn (como informaciรณn sobre la configuraciรณn del usuario y los eventos que ocurrieron) no se mantienen para su uso en la siguiente sesiรณn con ese usuario.

Se ha trabajado mucho para mantener la informaciรณn de la sesiรณn entre las solicitudes de un usuario. Pero con Node.js, finalmente existe una manera de que las aplicaciones web tengan conexiones bidireccionales en tiempo real, donde tanto el cliente como el servidor pueden iniciar la comunicaciรณn, lo que les permite intercambiar datos libremente.

ยฟPor quรฉ utilizar Node.js?

Analizaremos el valor real de Node.js en los prรณximos capรญtulos, pero ยฟquรฉ es lo que hace que este marco sea tan famoso? A lo largo de los aรฑos, la mayorรญa de las aplicaciones se basaron en un marco de solicitud-respuesta sin estado. En este tipo de aplicaciones, depende del desarrollador asegurarse de que se implementรณ el cรณdigo correcto para garantizar que se mantuvo el estado de la sesiรณn web mientras el usuario trabajaba con el sistema.

Pero con las aplicaciones web Node.js, ahora puedes trabajar en tiempo real y tener comunicaciรณn bidireccional. El estado se mantiene y el cliente o el servidor pueden iniciar la comunicaciรณn.

Caracterรญsticas de Node.js

Veamos algunas de las caracterรญsticas clave de Node.js.

  1. La entrada/salida asincrรณnica basada en eventos facilita el manejo simultรกneo de solicitudes: este es probablemente el punto de venta mรกs importante de Node.js. Esta caracterรญstica bรกsicamente significa que si Node recibe una solicitud para alguna operaciรณn de entrada/salida, ejecutarรก la operaciรณn en segundo plano y continuarรก procesando otras solicitudes.
    Esto es bastante diferente de otros lenguajes de programaciรณn. Un ejemplo simple de esto se proporciona en el siguiente cรณdigo.
var fs = require('fs'); 
          fs.readFile("Sample.txt",function(error,data)
          {
                console.log("Reading Data completed");
     });
  • El fragmento de cรณdigo anterior analiza la lectura de un archivo llamado Sample.txt. En otros lenguajes de programaciรณn, la siguiente lรญnea de procesamiento solo ocurrirรญa una vez que se haya leรญdo el archivo completo.
  • Pero en el caso de Node.js, la fracciรณn importante de cรณdigo a tener en cuenta es la declaraciรณn de la funciรณn ("funciรณn (error, datos)"). Esto se conoce como funciรณn de devoluciรณn de llamada.
  • Entonces, lo que sucede aquรญ es que la operaciรณn de lectura del archivo comenzarรก en segundo plano. Y otros procesos pueden ocurrir simultรกneamente mientras se lee el archivo. Una vez que se completa la operaciรณn de lectura del archivo, se llamarรก a esta funciรณn anรณnima y se escribirรก el texto "Lectura de datos completada" en el registro de la consola.
  1. Nodo usa el V8 JavaMotor de ejecuciรณn de scripts, el que utiliza Google Chrome. El nodo tiene una envoltura sobre el JavaMotor de script que hace que el motor de ejecuciรณn sea mucho mรกs rรกpido y, por lo tanto, el procesamiento de solicitudes dentro de Node tambiรฉn se vuelve mรกs rรกpido.
  2. Manejo de solicitudes simultรกneas: otra funcionalidad clave de Node es la capacidad de manejar conexiones simultรกneas con una sobrecarga mรญnima en un solo proceso.
  3. La biblioteca Node.js utiliza JavaScript: este es otro aspecto importante del desarrollo en Node.js. Una parte importante de la comunidad de desarrollo ya estรก bien versada en JavaScript y, por lo tanto, el desarrollo en Node.js se vuelve mรกs fรกcil para un desarrollador que conoce JavaScript.
  4. Existe una comunidad activa y vibrante para el marco Node.js. Gracias a la comunidad activa, siempre hay actualizaciones clave disponibles para el marco. Esto ayuda a mantener el marco siempre actualizado con las รบltimas tendencias en desarrollo web.

ยฟQuiรฉn usa Node.js?

Node.js es utilizado por muchas grandes empresas. A continuaciรณn se muestra una lista de algunos de ellos.

  • Paypal: muchos sitios dentro de Paypal tambiรฉn han comenzado la transiciรณn a Node.js.
  • LinkedIn: LinkedIn estรก utilizando Node.js para impulsar su Mรณvil Servidores, que alimentan el iPhone, Androidy productos web mรณviles.
  • Mozilla ha implementado Node.js para soportar las API del navegador que tiene 500 millones de instalaciones.
  • eBay aloja su servicio API HTTP en Node.js

Cuรกndo usar Node.js

Node.js es mejor para su uso en aplicaciones de streaming o en tiempo real basadas en eventos como

  1. Aplicaciones de chat
  2. Servidores de juegos: servidores rรกpidos y de alto rendimiento que necesitan procesar miles de solicitudes a la vez, entonces este es un marco ideal.
  3. Bueno para entornos colaborativos: esto es bueno para entornos que gestionan documentos. En un entorno de gestiรณn de documentos, tendrรก varias personas que publicarรกn sus documentos y realizarรกn cambios constantes al retirar y registrar documentos. Por lo tanto, Node.js es bueno para estos entornos porque el bucle de eventos en Node.js se puede activar cada vez que se modifican documentos en un entorno administrado por documentos.
  4. Servidores de publicidad: nuevamente, aquรญ podrรญa tener miles de solicitudes para extraer anuncios del servidor central y Node.js puede ser un marco ideal para manejar esto.
  5. Servidores de transmisiรณn: otro escenario ideal para usar Node es para servidores de transmisiรณn multimedia en los que los clientes tienen solicitudes para extraer diferentes contenidos multimedia de este servidor.

Node.js es bueno cuando necesitas altos niveles de concurrencia pero menos tiempo de CPU dedicado.

Lo mejor de todo es que, dado que Node.js estรก construido sobre JavaScript, es mรกs adecuado cuando se crean aplicaciones del lado del cliente que se basan en el mismo marco de JavaScript.

Cuรกndo no usar Node.js

Node.js se puede utilizar para muchas aplicaciones con diversos propรณsitos. El รบnico escenario en el que no se debe utilizar es cuando hay tiempos de procesamiento prolongados, que son requeridos por la aplicaciรณn.

El nodo estรก estructurado para ser de un solo subproceso. Si se requiere que una aplicaciรณn realice algunos cรกlculos de larga duraciรณn en segundo plano, no podrรก procesar ninguna otra solicitud. Como se mencionรณ anteriormente, Node.js se usa mejor cuando el procesamiento necesita menos tiempo de CPU dedicado.

Resumir este post con: