Full Reactive Stack
Aprende cómo construir un sistema completamente reactivo desde la base de datos hasta el front-end, usando una estrategia de programación reactiva aprovechada por Spring WebFlux, con la simplicidad ofrecida por Spring Boot 2.
Este mini-libro está basado en la popular serie de blogs Full Reactive Stack, adaptada y expandida para una experiencia de aprendizaje completa.
📖 53 páginas • 💻 Ejemplos de código completos • 🎓 Curso interactivo disponible • 🎯 Enfoque práctico
Domina el desarrollo Full Reactive Stack
Este libro cubre el stack reactivo completo, desde la base de datos hasta el frontend, con ejemplos prácticos y comparaciones de rendimiento.
Programación reactiva
Domina Project Reactor y Spring WebFlux para construir aplicaciones no bloqueantes y reactivas.
MongoDB reactivo
Implementa persistencia de datos completamente reactiva con el driver reactivo de MongoDB y Spring Data.
Frontend Angular
Construye frontends reactivos con RxJS y EventSource para streaming de datos en tiempo real.
Análisis de rendimiento
Compara WebFlux vs MVC con benchmarks y entiende cuándo usar cada enfoque.
Despliegue con Docker
Despliega el stack reactivo completo usando Docker y docker-compose.
Código fuente completo
Todos los ejemplos de código disponibles en GitHub con implementación paso a paso.
Spring WebFlux y MongoDB reactivo
Aprenderás cómo desarrollar endpoints Web reactivos usando Spring Reactor y Spring WebFlux, la alternativa a MVC. Para hacerlo completamente reactivo, usarás MongoDB ya que proporciona un driver reactivo integrado con Spring Data.
El libro incluye implementaciones tanto reactivas como bloqueantes, permitiéndote entender las diferencias y compensaciones entre los dos enfoques.
- Endpoints reactivos no bloqueantes
- Soporte para Server-Sent Events
- Manejo de contrapresión
- Driver reactivo de MongoDB
Angular con RxJS y EventSource
El libro muestra cómo construir una aplicación Angular simple que usa RxJS y EventSource para conectarse al flujo reactivo proporcionado por el backend.
Aprenderás cómo consumir Server-Sent Events, manejar streams reactivos en el frontend y crear una experiencia de usuario verdaderamente reactiva.
- RxJS Observables
- API EventSource
- Streaming de datos en tiempo real
- Actualizaciones reactivas de UI
Tabla de contenidos completa
La Web Reactiva
Introducción a los patrones de programación reactiva y fundamentos de WebFlux.
- Patrones Web Reactivos
- WebFlux y Project Reactor
- Web Reactiva: Ventajas
- ¿Es lo mismo No-Bloqueante que Reactivo?
- Vista general de la aplicación
Backend Full Reactive Stack
Construyendo el backend reactivo con Spring Boot, WebFlux y MongoDB.
- Project Reactor – Características principales
- WebFlux – Características principales
- Creando la aplicación
- Capa de repositorio
- El controlador reactivo
- El controlador y repositorio bloqueantes
- Cargando datos en MongoDB con un ApplicationRunner
- Ejecutando el backend
- Jugando con endpoints reactivos y clásicos
Conectando Angular con el backend WebFlux
Creando un frontend reactivo que se conecta al backend WebFlux.
- Objetivo
- ¿Por qué Angular?
- Creando la aplicación Angular
- Vista general de la aplicación UI
- El servicio reactivo de Angular
- Los componentes de Angular – Vista general rápida
- Ejecutando el frontend
Conclusiones
Análisis de rendimiento y comparación entre WebFlux y MVC tradicional.
- WebFlux vs. Bloqueante (MVC): experiencia de usuario
- WebFlux vs. Bloqueante (MVC): rendimiento
- WebFlux vs. Bloqueante (MVC): facilidad de desarrollo
- Idoneidad
- Pruebas
- Conclusiones
Apéndice: Ejecutando la aplicación en Docker
Guía completa para contenedorizar y desplegar el stack reactivo.
- Generar los artefactos de construcción
- Construir y ejecutar la aplicación Spring Boot en Docker
- Construir la aplicación Angular y ejecutarla en Docker
- Juntando todo con Docker Compose
Obtén tu copia
Disponible como e-book en Leanpub con precio paga-lo-que-quieras, o como un curso interactivo en Educative.io con ejercicios de codificación prácticos.