Detalle del libro
Ver Índice
CONTENIDO PARTE 1
CAPÍTULO 1 Introducción e instalación
¿Qué es Node.js?
Información de interés sobre Node.js - OpenJS Foundation -
Node.js como servidor web - Frameworks y complementos para Node.js -
Node.js en MEAN y MERN Stack - Callbacks
Instalación
Instalar Node.js en Windows - Instalar Node.js en Linux
Testear la instalación
Primer programa en Node.js - Hola Mundo - Callbacks
CAPÍTULO 2 Arquitectura
Componentes internos
Ejemplo
ECMAScript
Entorno de ejecución
V8
Consejos para el uso de JavaScript
Paquetes
Módulos
Crear nuestro primer módulo
Ejemplo - Módulos incluidos en Node.js (Built-in modules)
CAPÍTULO 3 Comandos node y npm
Parámetros de los comandos
Comando node
Verificar si un programa es sintácticamente correcto -
Enviar parámetros al motor JavaScript V8 incluido en Node.js -
Utilizar Node.js sin necesidad de crear un archivo .js
Comando npm
Discusión con respecto al significado del término npm -
Parámetros de configuración del comando npm - Registro de paquetes de npm -
Cómo buscar un paquete en el repositorio de npm - Cómo instalar un paquete
utilizando npm - Paquetes solo para el ambiente de desarrollo -
Cómo verificar si existen paquetes desactualizados - Actualizar un paquete npm
Orgs y Enterprise - Tendencias de los paquetes npm
Estructura de un proyecto
Inicializar un proyecto de Node.js (package.json) - Directorio node_modules
Primer proyecto en node.js
CAPÍTULO 4 Blocking vs. Non-Blocking
Event Loop y Worker Pool
Conceptos básicos de manejo de concurrencia en un sistema operativo
Manejo de hilos en Node.js
Tipos de hilos de ejecución - No bloquear Event Loop
Consejos para el uso de Node.js
Revisar la complejidad algorítmica de las funciones - Controlar los parámetros
de entrada de las funciones - Evitar el uso de expresiones regulares que provoquen
un ReDos - Trabajar siempre con las versiones asíncronas de las funciones -
No procesar objetos en formato Json demasiado grandes
Funciones asíncronas en Node.js
Callback Hell
Promesas
Migrar una función que usa callbacks a una promesa - Ejecutar múltiples promesas
al mismo tiempo - Anidamiento de promesas - Retornar siempre la promesa que
anidamos - No utilizar forEach en el resultado de una promesa - Agregar el catch -
No caer en el desorden
Primitivas async
Control de errores - Compatibilidad de async
CONTENIDO PARTE 2
CAPÍTULO 3 Módulo HTTP2 de Node.js
Protocolo HTTP versión 2
Conceptos básicos del protocolo HTTP
Formato de los mensajes - Métodos HTTP - Cabeceras -
Código de respuesta de un servidor HTTP - Composición de un mensaje HTTP
Módulo HTTP
Restricciones de seguridad de los navegadores
Servidor
Ejemplos
Servidor HTTP sin encriptación - Servidor web seguro
Cliente
Ejemplos
Cliente HTTP sin encriptación - Cliente web seguro
Prueba de los ejemplos
Servidor web no encriptado
Servidor web seguro
Documentación de Node.js
Actividades
Test de autoevaluación - Ejercicios prácticos
CAPÍTULO 4 Servidor web con Node.js y Express
API REST
Conceptos básicos de API REST
Recursos - Protocolo sin estado - Métodos HTTP y funciones de la API del servidor - Tipo de retorno
Express
Instalación
Servidor web estático
Ejemplo
Servidor API REST
Middleware de terceros - Ejemplo
Ruteo
Servidor API REST con ruteo
Ejemplo - Ruteo con parámetros
Actividades
Test de autoevaluación - Ejercicios prácticos
CONTENIDO PARTE 3
Prueba de la API con PostMan
Conclusión
Actividades
Test de autoevaluación
Ejercicios prácticos
CAPÍTULO 3 Publicar una aplicación
¿Qué es PM2?
Instalación
Directorio de trabajo de PM2
Gestión de procesos con PM2
Agregar un programa al gestor de procesos de PM2 -
Obtener la lista de procesos en segundo plano - Gestionar el estado de un proceso -
Detalles de un proceso
Archivo de configuración (Ecosystem File)
Configuración básica del archivo Ecosystem - Establecer el puerto de escucha
Control sobre el inicio y fin del programa
Interfaz Web
Proxy inverso
Windows
Linux
Actividades
Test de autoevaluación
Ejercicios prácticos
Glosario
Parte 1
Instalación
En este libro haremos un recorrido teórico y práctico por todo el ecosistema tecnológico que compone Node.js. Veremos desde su instalación en diferentes
plataformas, hasta cómo crear programas, paso a paso y de manera detallada.
En cada parte trataremos temas fundamentales que nos ayudarán a conocer y comprender mejor cada detalle de Node.js, sin necesidad de poseer conocimientos previos. Además, configuraremos el entorno de trabajo y, al mismo tiempo, crearemos programas de ejemplo utilizando los módulos de Node.js que estudiamos en cada capítulo.
El libro está dividido en tres partes, con estos contenidos:
• Parte I: ¿qué es Node.js? Indicaciones para realizar su instalación en diferentes plataformas. Análisis de su arquitectura (ECMAScript, JavaScript, motor V8).
Guía paso a paso para el uso de los comandos node y npm. Diferencias entre la programación bloqueante y no bloqueante en Node.js.
• Parte II: manejo del sistema de archivos (file system) y salida por consola. Creación de un servidor web utilizando el protocolo HTTP versión 2. Uso de
Express para crear una API de tipo REST utilizando el módulo de ruteo y el retorno de datos en formato JSON.
• Parte III: aplicación de Node.js en diferentes proyectos. Cómo conectarse a distintos motores de bases de datos, ejecutar operaciones CRUD sobre una
API de tipo REST hecha con Node.js y Express, y publicar una aplicación en un ambiente productivo utilizando PM2.
Todos los contenidos están redactados con un lenguaje claro y didáctico, alternando la parte teoría con ejemplos prácticos y actividades para facilitar la asimilación de los conceptos desarrollados.