El curso de Arquitecturas para Android más completo en español, 100% con Kotlin y las librerías oficiales más recomendadas con soporte de Google.
El objetivo principal es que aprendas las diferentes arquitecturas que existen para la plataforma de Android con Kotlin. La idea es que al final tengas varios ejemplos de como integrar estas técnicas de programación a tus nuevos proyectos, y también a los existentes.
Emagister S.L. (responsable) tratará tus datos personales con la finalidad de gestionar el envío de solicitudes de información y comunicaciones promocionales de formación con tu consentimiento. Ejerce tus derechos de acceso, supresión, rectificación, limitación, portabilidad y otros, según se indica en nuestra política de privacidad.
Temario completo de este curso
Introducción
¿Qué apps veremos en el curso?
Opcional: Instalar Android Studio(Windows)
Opcional: Instalar Android Studio(Mac)
Únete a la comunidad en Discord
Toma notas de tu curso en tiempo real en Frogames Formación
Arquitecturas de Software - Teoría
Introducción Teoría
Origen de las arquitecturas
Glosario del curso
Patrones de diseño
¿Qué es una arquitectura?
Ventajas y desventajas
¿Qué debe tener una arquitectura?
¿Cómo elegir una arquitectura?
¿Qué arquitecturas veremos?
Teoría
Conclusiones Teoría
Event Bus
Introducción Event Bus
Nueva App: Fundamentos de patrones
Clase de Event Bus para publicar y suscribir
Clases selladas
Singleton
Nueva app: Event Bus
RecyclerView y Adapter
Implementar Event Bus
Evento de cierre y publicidad
Event Bus
Solución a Event Bus
Event Bus en un servicio
Diagrama Event Bus
Event Bus
Conclusiones Event Bus
MVP
Introducción MVP
Nueva App: MVP
Model y el patrón Repository
View
Presenter
Unir las 3 capas(modelo, vista, presentador)
withContext
Diagrama MVP
MVP
Solución MVP
MVP
Conclusiones MVP
Clean
Introducción Clean
Nueva App: Clean
Abstracción de clases a interfaces
Implementación de interfaces
Fuente de datos(DataSource)
Diagrama Clean
Clean
Solución Clean
Clean
Conclusiones Clean
Proyecto sin arquitectura
Introducción Proyecto sin arquitectura
Explicación de proyecto base
Organización de código(previa a implemementar arquitecturas)
Organizar paquetes por tipo
Clonar nuevos proyectos de forma segura
Conclusiones Proyecto sin arquitectura
MVI
Introducción MVI
MVI: Carpetas principales por módulo y capas
Modelo: Estados
Modelo: Repositorio
Vista: Fragment
Vista: ViewModel
ViewModelFactory
Intent
Lanzar intenciones desde la vista
Diagrama MVI (módulo account)
Intents, States (módulo favoritos)
Model: Repository (módulo favoritos)
ViewModel (módulo favoritos)
View (módulo favoritos)
Diagrama MVI (módulo favoritos)
Intent, State (módulo home)
Model (módulo home)
ViewModel (módulo home)
View (módulo home)
Intent, State (módulo login)
ViewModel (módulo login)
View (módulo login)
Módulo Main
Intent, State-Model (módulo promo)
ViewModel (módulo promo)
View (módulo promo)
Intent, State (módulo actualizar)
Model (módulo actualizar)
ViewModel (módulo actualizar)
View (módulo actualizar)
Diagrama MVI (módulo actualizar)
MVI
MVI Solución
MVI
Conclusiones MVI
MVVM
Introducción MVVM
MVVM: Carpetas principales por módulo y capas
Primeros pasos con DataBinding y la librería LiveData
Model: Repository (módulo cuenta)
ViewModel (módulo cuenta)
DataBinding (módulo cuenta)
LiveData (módulo cuenta)
DataBinding Parte II (módulo cuenta)
DataBinding Parte III (módulo cuenta)
Diagrama MVVM (módulo cuenta)
Model (módulo favoritos)
ViewModel (módulo favoritos)
DataBinding en vista individual (módulo favoritos)
DataBinding con adaptador (módulo favoritos)
View (módulo favoritos)
Diagrama MVVM (módulo favoritos)
Model (módulo home)
ViewModel (módulo home)
Optimizar ViewModel compartido
View (módulo home)
Model (módulo login)
ViewModel (módulo login)
View (módulo login)
Model (módulo promo)
ViewModel (módulo promo)
View: Adapter (módulo promo)
View: Fragment (módulo promo)
Model (módulo actualizar)
ViewModel (módulo actualizar)
View (módulo actualizar)
Diagrama MVVM (módulo actualizar)
MVVM
MVVM Solución
MVVM
Conclusiones MVVM
Inyección de Dependencias con Koin
Introducción DI Koin
Añadir Koin para la Inyección de Dependencias
Koin: Configuración básica
Inyección de Dependencias: byInject
Inyectar Adapter
MVP + Clean + DI
Inyección de Dependencias
Conclusiones DI Koin
Arquitectura Recomendada por Google
Introducción Arquitectura Recomendada
Nueva App: Recommended Arch
Limpiar valores en LiveData
ViewModel base
ViewModel (módulo home)
Repositorio base y Repositorio (módulo home)
Adaptador (módulo home)
Adaptador inyectado con Koin
Inyección de Dependencias (módulo home)
Diagrama Recommended Architecture (módulo home)
Model Layer: Domain (módulo favoritos)
ViewModel Layer (módulo favoritos)
View Layer & Dependency Inyection (módulo favoritos)
Optimizaciones (módulo favoritos)
Model & Domain (módulo actualizar)
ViewModel (módulo actualizar)
View & Dependency injection (módulo actualizar)
ViewModel compartido y Navigation Component
Model & Dominio (módulo login)
ViewModel (módulo login)
View & Dependency injection (módulo login)
Navigation Component y ViewModel compartido (módulo login)
Model y Domain (módulo cuenta)
ViewModel (módulo cuenta)
View & Dependency injection (módulo cuenta)
ViewModel compartido (módulo cuenta)
Model & Domain (módulo promo)
ViewModel (módulo promo)
View & Dependency Injection (módulo promo)
Diagrama final de la Arquitectura Recomendada
Conclusiones Recommended Architecture
Jetpack Compose
Nueva app: Wines Compose
Migrar módulo home de un proyecto a otro
ViewModel inyectado en Jetpack Compose