CONTENIDO
Módulo 1: Fundamentos del Desarrollo Backend con Dart
- Introducción a Dart en el backend: ventajas casos de uso y su relevancia en el ecosistema moderno
- Instalación y configuración de Dart SDK para desarrollo backend: herramientas y dependencias necesarias
- Diferencias clave entre desarrollo frontend y backend con Dart: arquitectura y enfoque
- Introducción a frameworks backend en Dart: exploración de Shelf y Dart Frog
- Estructura básica de un proyecto backend en Dart: organización de carpetas y archivos
- Manejo de dependencias con pubspecyaml: instalación actualización y resolución de conflictos Uso de herramientas CLI para ejecutar y depurar servidores backend
- Configuración de entornos de desarrollo y producción para proyectos backend
Módulo 2: Creación de APIs REST con Dart
- Introducción al protocolo HTTP en Dart: métodos códigos de estado y cabeceras
- Creación de rutas y manejo de peticiones (request) y respuestas (response) con Shelf
- Implementación de middleware: logging CORS y autenticación básica
- Modularización de la API: creación de controladores para organizar la lógica de negocio
- Manejo de errores y respuestas HTTP estandarizadas: mejores prácticas
- Validación de datos de entrada y salida: uso de librerías como dart_validator
- Serialización y deserialización de datos JSON: técnicas avanzadas Documentación de APIs con OpenAPI (Swagger): generación automática
Módulo 3: Manejo de Bases de Datos SQL y NoSQL
- Introducción a bases de datos SQL (PostgreSQL MySQL) y NoSQL (MongoDB Firebase): comparativa y casos de uso
- Conexión con PostgreSQL usando el paquete postgres y realización de consultas básicas
- Uso de ORM en Dart: implementación de drift para SQLite
- Integración con Firebase Firestore para almacenamiento NoSQL: lectura escritura y consultas avanzadas
- Estrategias de migración de bases de datos: versionamiento y rollback
- Optimización de consultas SQL: índices joins y transacciones
- Monitoreo del rendimiento de bases de datos: análisis de tiempos de respuesta
- Backup y restauración de datos: herramientas y estrategias
Módulo 4: Seguridad y Autenticación en APIs
- Introducción a OAuth 20 y JWT: conceptos básicos y flujo de autorización
- Implementación de autenticación con JWT en Shelf: generación y validación de tokens
- Seguridad en almacenamiento de contraseñas: hashing con bcrypt y salting
- Middleware para protección de rutas seguras: verificación de tokens y roles
- Implementación de roles y permisos en APIs multiusuario: administradores y usuarios regulares Integración con Google Sign-In y Firebase Auth: autenticación sin contraseña
- Prevención de ataques CSRF y XSS: buenas prácticas
- Auditoría de seguridad: herramientas como OWASP ZAP y recomendaciones
Módulo 5: WebSockets y Comunicación en Tiempo Real
- Diferencias entre WebSockets y HTTP: ventajas y casos de uso
- Implementación de un servidor WebSocket en Dart: configuración básica
- Manejo de eventos y conexión bidireccional: envío y recepción de mensajes
- Creación de un sistema de notificaciones en tiempo real: arquitectura básica
- Sincronización de datos en tiempo real con Firebase o Supabase
- Escalabilidad de aplicaciones con WebSockets: balanceadores de carga y clusters
- Ejemplo práctico: chat en tiempo real con WebSockets
- Manejo de errores y reconexión automática en WebSockets
Módulo 6: Tareas en Segundo Plano y Procesamiento Asíncrono
- Introducción a Isolates y Compute en Dart: procesamiento paralelo
- Programación asíncrona con Future y Stream: manejo de flujos de datos
- Creación de colas de procesamiento con Redis y RabbitMQ: arquitectura y configuración
- Implementación de cron jobs en Dart: automatización de tareas periódicas
- Monitoreo de tareas en segundo plano: logs y métricas
- Estrategias para evitar bloqueos en el servidor principal
- Ejemplo práctico: procesamiento de imágenes en segundo plano
- Herramientas para depuración y optimización de tareas asíncronas
Módulo 7: Seguridad Avanzada y Encriptación
- Encriptación de datos con encrypt y pointycastle: cifrado simétrico y asimétrico
- Prevención de ataques: SQL Injection XSS y CSRF: técnicas y herramientas
- Configuración de HTTPS y certificados SSL: uso de shelf_ssl
- Auditoría de seguridad: herramientas como OWASP ZAP y recomendaciones
- Protección de endpoints públicos: rate limiting y firewalls
- Gestión de claves secretas: uso de variables de entorno y servicios como AWS Secrets Manager
- Monitoreo de vulnerabilidades: herramientas y estrategias
- Ejemplo práctico: encriptar contraseñas antes de almacenarlas en la base de datos
Módulo 8: Despliegue en la Nube CI/CD y Monitoreo de APIs
- Opciones de despliegue: AWS EC2 Google Cloud Run Docker y Firebase Functions
- Configuración de CI/CD con GitHub Actions y Docker: pipelines automáticos
- Monitoreo de APIs: integración con Prometheus y Grafana
- Escalabilidad horizontal: balanceadores de carga y auto-scaling
- Implementación de logs y monitoreo con Sentry y Datadog
- Estrategias para reducir costos en el despliegue en la nube
- Pruebas de carga y estrés: herramientas y técnicas
- Ejemplo práctico: despliegue de una API en Google Cloud usando Docker
Dart Backend Ninja: APIs, Servidores y Bases de Datos
Este curso explora el desarrollo backend con Dart, desde la creación de APIs robustas hasta la integración con bases de datos y tareas en segundo plano. Se abarcarán aspectos como seguridad, autenticación, despliegue en la nube y buenas prácticas para optimizar el rendimiento de aplicaciones backend. Al finalizar el curso, los estudiantes estarán preparados para desarrollar y desplegar aplicaciones backend completas utilizando Dart.


