Ponte en Contacto

Temario del curso

1. Introducción a .NET MAUI y el desarrollo multiplataforma

  • Arquitectura de .NET MAUI y ciclo de vida de la aplicación
  • Estructura de proyectos multiplataforma y arquitectura de proyecto único
  • Comprensión de controladores (handlers), controles, diseños (layouts) y abstracciones de plataforma
  • Código específico de la plataforma y compilación condicional
  • Gestión de dependencias y paquetes NuGet
  • Trabajo con Visual Studio y .NET CLI
  • Compilación y ejecución de aplicaciones en Android, iOS, Windows y macOS
  • Ejercicio: Crear y configurar una aplicación multiplataforma de .NET MAUI

2. Técnicas y patrones avanzados de MVVM

  • Repaso de MVVM y separación de responsabilidades
  • Técnicas avanzadas de enlazado de datos (data binding)
  • Enlazados compilados y rendimiento del enlazado
  • INotifyPropertyChanged y colecciones observables
  • Comandos, comandos asíncronos y parámetros de comando
  • CommunityToolkit.Mvvm y generadores de código fuente
  • ViewModels, servicios y gestión de estado
  • Navegación y ViewModels conscientes de la navegación
  • Manejo de validación y estado de la aplicación
  • Ejercicio: Crear una aplicación MVVM de varias páginas con validación y operaciones asíncronas

3. Inyección de dependencias y arquitectura de la aplicación

  • Inyección de dependencias integrada de .NET
  • Tiempos de vida de servicio: transitorio, con ámbito (scoped) y único (singleton)
  • Registro de servicios específicos de la plataforma y servicios compartidos
  • Inyección por constructor y composición de servicios
  • Inversión de dependencias y acoplamiento débil
  • Patrones de repositorio y servicios
  • Gestión de dependencias a nivel de toda la aplicación
  • Configuración y servicios específicos del entorno
  • Ejercicio: Refactorizar una aplicación utilizando inyección de dependencias

4. Análisis detallado de la personalización y ampliación de .NET MAUI

  • Comprensión de controladores y arquitectura de renderizado de .NET MAUI
  • Controladores personalizados e implementaciones específicas de la plataforma
  • Mapeo de controles de .NET MAUI a controles nativos de la plataforma
  • Ampliación de controles existentes
  • Creación de controles personalizados
  • Comportamiento y APIs específicas de la plataforma
  • Efectos, comportamientos y extensiones de interfaz de usuario reutilizables
  • Cuándo usar controladores, comportamientos, efectos o controles personalizados
  • Ejercicio: Crear e integrar un control multiplataforma personalizado

5. Creación de componentes y bibliotecas reutilizables

  • Diseño de componentes de interfaz de usuario reutilizables
  • Creación de controles y ContentViews personalizados
  • Parametrización de componentes y enlazado de datos
  • Creación de comportamientos y convertidores reutilizables
  • Organización de funcionalidad de aplicación compartida
  • Creación de bibliotecas de clases .NET para aplicaciones MAUI
  • Empaquetado y distribución de componentes reutilizables
  • Fundamentos de paquetes NuGet
  • Ejercicio: Crear una biblioteca de componentes reutilizables

6. Interfaz de usuario/Experiencia de usuario (UI/UX) avanzada, diseños y animaciones

  • Diseños avanzados y diseño de interfaz de usuario receptiva
  • Interfaces adaptativas para teléfonos, tabletas y equipos de escritorio
  • Recursos dinámicos y estilos
  • Diccionarios de recursos y gestión de temas
  • Temas claro y oscuro
  • Estados visuales e interfaz de usuario basada en estados
  • Animaciones y transiciones avanzadas
  • Reconocimiento de gestos
  • Dibujo y gráficos personalizados
  • Consideraciones de accesibilidad
  • Ejercicio: Crear una interfaz de MAUI receptiva y animada

7. Manejo de escenarios de datos complejos

  • Consumo de APIs REST desde .NET MAUI
  • Clientes HTTP y acceso de datos asíncrono
  • Serialización y deserialización JSON
  • Manejo de errores y estrategias de reintentos
  • Persistencia local de datos
  • SQLite y bases de datos locales
  • Patrones de repositorio para acceso a datos
  • Diseño de aplicaciones primero sin conexión (offline-first)
  • Sincronización entre datos locales y remotos
  • Estrategias de resolución de conflictos
  • Memorización (caching) e invalidación de la memorización
  • Ejercicio: Implementar una aplicación basada en datos con capacidad sin conexión

8. Ajuste de rendimiento y optimización

  • Identificación de cuellos de botella de rendimiento
  • Optimización del tiempo de inicio
  • Gestión de memoria y uso de recursos
  • Reducción de actualizaciones innecesarias de la interfaz de usuario
  • Optimización de enlazados y renderizado de colecciones
  • Carga y memorización eficientes de imágenes
  • Programación asíncrona y evitación de bloqueos en el hilo de la interfaz de usuario
  • Procesamiento en segundo plano
  • Reducción del tamaño de la aplicación
  • Gestión de fugas de memoria y tiempos de vida de objetos
  • Ejercicio: Perfilar y optimizar una aplicación de MAUI deliberadamente ineficiente

9. Técnicas avanzadas de depuración y perfiles de rendimiento

  • Depuración de aplicaciones multiplataforma
  • Puntos de interrupción, observadores y manejo de excepciones
  • Diagnóstico de problemas de interfaz de usuario y ciclo de vida
  • Registro (logging) y diagnósticos estructurados
  • Herramientas de diagnóstico y perfiles de rendimiento de .NET
  • Perfiles de rendimiento de CPU y memoria
  • Detección de fugas de memoria
  • Investigación del renderizado lento de la interfaz de usuario
  • Depuración de problemas específicos de la plataforma
  • Uso de diagnósticos de dispositivos y emuladores
  • Ejercicio: Diagnosticar y resolver problemas comunes de rendimiento y tiempo de ejecución

10. Patrones arquitectónicos y mejores prácticas para aplicaciones a gran escala

  • Elección de una arquitectura de aplicación adecuada
  • Conceptos de arquitectura limpia (Clean Architecture)
  • Arquitectura por capas
  • Separación de interfaz de usuario, lógica de negocio y acceso a datos
  • Abstracciones de repositorio y servicios
  • Principios SOLID en aplicaciones MAUI
  • Gestión del estado de la aplicación
  • Organización de proyectos basada en funcionalidades
  • Diseño modular de aplicaciones
  • Consideraciones de escalabilidad y mantenibilidad
  • Ejercicio: Diseñar la arquitectura de una aplicación de MAUI a escala de producción

11. Estrategias avanzadas de pruebas

  • Pruebas unitarias de ViewModels y servicios
  • Pruebas de lógica de negocio de forma independiente de la interfaz de usuario
  • Simulación (mocking) de dependencias
  • Pruebas de código asíncrono
  • Pruebas de navegación y estado de la aplicación
  • Conceptos de pruebas de interfaz de usuario e integración
  • Arquitectura de aplicación probable (testable)
  • Consideraciones para la integración continua
  • Ejercicio: Crear una suite de pruebas para una aplicación de MAUI

12. Seguridad en aplicaciones de .NET MAUI

  • Arquitectura de aplicación segura
  • Almacenamiento seguro de información sensible
  • Autenticación y autorización
  • Gestión de tokens
  • Consideraciones de seguridad de API
  • Protección de datos almacenados localmente
  • Comunicación segura con servicios de backend
  • Manejo de credenciales y secretos
  • Riesgos de seguridad comunes en aplicaciones móviles
  • Ejercicio: Implementar autenticación segura y almacenamiento de credenciales

13. Despliegue y distribución de aplicaciones

  • Compilación de aplicaciones para diferentes plataformas
  • Configuraciones de liberación (Release) y depuración (Debug)
  • Firma de aplicaciones y certificados
  • Empaquetado de aplicaciones de Android
  • Conceptos de despliegue de aplicaciones de iOS
  • Empaquetado de aplicaciones de Windows
  • Versionado y gestión de versiones
  • Configuración específica del entorno
  • Publicación de aplicaciones en tiendas de aplicaciones
  • Consideraciones de CI/CD para proyectos MAUI
  • Ejercicio: Preparar una aplicación de MAUI para el despliegue de producción

14. Funciones más recientes de .NET MAUI y Visual Studio

  • Mejoras y cambios recientes en .NET MAUI
  • Nuevos controles, APIs y capacidades de desarrollo
  • Mejoras en controladores e integración de plataforma
  • Herramientas de Visual Studio y funciones de productividad
  • Prácticas modernas de desarrollo de .NET
  • Evaluación de bibliotecas de terceros y funciones de MAUI Community Toolkit
  • Consideraciones de migración y actualización
  • Mantenimiento de aplicaciones a través de versiones de .NET

15. Ejercicio integrador: Construcción de una aplicación de .NET MAUI lista para producción

  • Definir requisitos y arquitectura de la aplicación
  • Diseñar la estructura MVVM
  • Configurar la inyección de dependencias
  • Implementar componentes de interfaz de usuario reutilizables
  • Conectar a fuentes de datos remotas y locales
  • Agregar memorización y sincronización
  • Implementar validación y manejo de errores
  • Aplicar optimizaciones de rendimiento
  • Agregar seguridad y autenticación
  • Probar la funcionalidad crítica de la aplicación
  • Preparar la aplicación para el despliegue

16. Resumen y próximos pasos

  • Repaso de conceptos avanzados de .NET MAUI
  • Errores arquitectónicos y de rendimiento comunes
  • Prácticas de desarrollo recomendadas
  • Recursos para aprender más
  • Planificación de los próximos pasos hacia el desarrollo de MAUI listo para producción
  • Preguntas y respuestas y discusión de los proyectos de los participantes

Requerimientos

  • Progresión en el lenguaje de programación C#
  • Comprensión sólida de los conceptos de programación orientada a objetos (POO)
  • Familiaridad con el marco de trabajo .NET

Público objetivo

  • Desarrolladores
 14 Horas

Número de participantes


Precio por participante

Reseñas (5)

Próximos cursos

Categorías Relacionadas