1
JavaScript del lado del servidor
- Génesis de JavaScript del lado del servidor y Node.js.
- El motor Google V8 utilizado en el servidor.
- ¿Por qué utilizar la programación orientada a eventos?
- Recordatorios de JavaScript: callbacks, cierres, noción de ámbito, apply, bind, call.
- Introducción a ECMAScript 6.
2
Primeros pasos en Node.js
- Instalación del servidor Node.js.
- El gestor de extensiones NPM.
- El enfoque modular de Node.js
- Un servidor web en unas pocas líneas.
- Uso de Node.js en REPL.
Trabajo práctico
Uso de la utilidad NPM. Desarrollo de una primera aplicación.
3
Fundamentos de Node.js
- ¿Qué sentido tiene desarrollar de forma asíncrona?
- Gestión basada en eventos: reaccionar en lugar de esperar.
- Principales módulos API: consola, útil, archivo, eventos y temporizador...
- Gestión de peticiones y respuestas HTTP. HTTPS.
- Creación de procesos hijo, https, sockets TCP y UDP...
Trabajo práctico
Lectura de un fichero, lectura de un recurso en línea, creación de un proceso hijo con comunicación IPC.
4
Gestión de rutas
- Análisis de URL (parámetros, solicitudes, etc.).
- Procesar una solicitud en modo asíncrono.
- Configurar un gestor de rutas.
Trabajo práctico
Configurar un gestor de rutas.
5
Marco Web Express
- Los conceptos fundamentales de Express.
- Construcción del esqueleto de una aplicación.
- Configuración de Express y de la aplicación.
- Renderizado de vistas con EJS.
- Gestión de formularios y carga de archivos.
- Enrutamiento de URL por Express.
- Configuración de una API REST.
Trabajo práctico
Implementación de una API REST completa.
6
Persistencia de datos
- Introducción a una base de datos NoSQL : MongoDB.
- Implementación de CRUD (Crear, Leer, Actualizar, Eliminar).
- Utilización de un ODM: Mongoose.
Trabajo práctico
Gestión de la persistencia a través de un ODM con creación de modelos.
7
Probar una aplicación Node.js
- Primeros pasos con Mocha.
- Aserciones y pruebas síncronas y asíncronas.
- Diferentes métodos de ensayo (inclusivo, exclusivo, etc.).
Trabajo práctico
Probar una aplicación con Mocha.
8
Conceptos avanzados
- Buenas prácticas de desarrollo en Node.js.
- La biblioteca async: hacer secuencial lo asíncrono.
- Clustering con Node.js. Compatibilidad con versiones anteriores, transpiladores...