Aprende · Construye · Publica

Recursos para
desarrolladores Android

Cursos prácticos y artículos técnicos sobre desarrollo Android moderno, Kotlin, Jetpack Compose y arquitectura de apps.

Cursos 15 disponibles
Android
Android Básico
Activities, Intents, ciclo de vida, AndroidManifest y recursos. Los fundamentos reales del desarrollo Android.
7 lecciones · Principiante
Kotlin
Kotlin desde cero
Variables, null safety, funciones, clases, colecciones, lambdas, scope functions y sealed classes.
8 lecciones · Principiante
Android
Android Intermedio
Fragments, Navigation Component, ViewModel, StateFlow, RecyclerView y Room. El stack de las apps reales.
7 lecciones · Intermedio
Kotlin
Android Avanzado
Coroutines, Flow avanzado, MVVM en profundidad, Clean Architecture, Hilt, Retrofit y Testing.
7 lecciones · Avanzado
Compose
Jetpack Compose
UI declarativa moderna. Composables, estado, theming M3, MVVM con collectAsStateWithLifecycle e interop.
8 lecciones · Avanzado
Compose
Jetpack Compose Avanzado
Performance y recomposición, estado avanzado, custom layouts, Canvas, animaciones, testing de composables y profiling en producción.
7 lecciones · Avanzado
Producción
Android para producción
ProGuard, firma, App Bundle, Play Store, Crashlytics, Firebase Analytics y Baseline Profiles.
7 lecciones · Avanzado
Background
WorkManager y background
Doze, App Standby, WorkManager, ForegroundService, AlarmManager y estrategias para cada escenario.
7 lecciones · Intermedio / Avanzado
Seguridad
Seguridad en Android
Keystore, EncryptedSharedPreferences, Network Security Config, certificate pinning y detección de root.
7 lecciones · Avanzado
Testing
Android Testing
Unit tests, ViewModels con coroutines, Fakes vs Mocks, Espresso, Hilt en tests y Room. El tema que más diferencia a un dev junior de un senior.
7 lecciones · Intermedio / Avanzado
Gradle
Gradle para Android
Módulos, plugins, dependencias, flavors, version catalogs y estrategias para dejar de sufrir el sistema de build.
7 lecciones · Intermedio / Avanzado
Arquitectura
Modularización Android
Cuándo modularizar, tipos de módulo, migrar una app existente, Hilt entre módulos, navegación, convention plugins y testing multimodulo.
7 lecciones · Avanzado
KMP
Kotlin Multiplatform
Compartir lógica de negocio entre Android e iOS. Setup, shared module, Ktor, coroutines multiplataforma, Koin e integración con Xcode y SwiftUI.
7 lecciones · Avanzado
Pantallas grandes
Android TV y Large Screens
Tablets, foldables, ChromeOS y TV. WindowSizeClass, layouts adaptativos, foldables, teclado y mouse, Compose adaptativo y D-pad navigation.
7 lecciones · Intermedio / Avanzado
Accesibilidad
Accesibilidad en Android
TalkBack, semántica en Compose y Views, foco y navegación, contraste, touch targets, testing con AccessibilityChecks y LiveRegion para contenido dinámico.
7 lecciones · Intermedio
Artículos 26 publicados
01
SharedPreferences: cómo usarlo bien (y cuándo no usarlo)
Encapsularlo en un repositorio, inyectarlo con Hilt, el ejemplo real del onboarding y cuándo conviene migrar a DataStore.
Abr 2025
02
DataStore: cuándo y cómo migrar desde SharedPreferences
Cuándo vale la pena, cuándo no, cómo migrar datos existentes sin romper producción y el patrón con Hilt.
Abr 2025
03
Hilt vs Koin: una comparación honesta
La diferencia fundamental entre compilación y runtime, performance, testing, multimodulo y una recomendación concreta.
Abr 2025
04
Cómo estructurar un proyecto Android desde cero
Por feature o por capa, cuándo modularizar, convenciones de nombres, errores comunes y el checklist de arranque.
Abr 2025
05
Debugging en Android: las herramientas que no usás
Layout Inspector, Memory Profiler, Network Inspector, Database Inspector, App Inspection y tricks de adb.
Abr 2025
06
Cómo publicar tu primera app en Play Store
Cuenta de desarrollador, keystore, AAB, la ficha, clasificación de contenido, tiempos reales de revisión y los motivos de rechazo más comunes.
Abr 2025
07
ProGuard y R8: qué es, por qué importa y cómo configurarlo
Qué hace R8 por debajo, cómo escribir las reglas correctas, el problema con Gson y cómo debuggear cuando algo se rompe en release.
Abr 2025
08
Paginación con Paging 3 en Android
PagingSource, PagingData, LoadState, paginación con Room, RemoteMediator offline-first, separadores y testing.
Abr 2025
09
Notificaciones push en Android con FCM
Cómo funciona FCM, notification vs data message, comportamiento por estado de la app, canales, topics y cómo probar sin backend.
Abr 2025
10
Room: migraciones sin perder datos
Cuándo se necesita migración, agregar columnas, renombrar tablas, el caso NOT NULL sin default, migraciones encadenadas y cómo testearlas.
Abr 2025
11
MVI vs MVVM: la diferencia que importa
Estado consistente vs fragmentado, intents tipados, side effects con Channel y cuándo cada patrón es la elección correcta.
Abr 2025
12
implementation vs api vs compileOnly en Android
La diferencia real entre tres configurations de Gradle que parecen parecidas, pero cambian acoplamiento, visibilidad y mantenimiento.
Abr 2026
13
Version Catalogs en proyectos Android reales
Qué resuelven de verdad, qué no resuelven y cuándo valen la pena en un proyecto Android con Gradle.
Abr 2026
14
Flavors y build types sin volverte loco
Cómo modelar variantes de una app Android con criterio, sin crear una explosión de combinaciones inmanejable.
Abr 2026
15
Por qué tus builds Gradle son lentas
Las causas más comunes detrás de builds Android lentas y cómo pensar el problema sin caer en recetas mágicas.
Abr 2026
16
Cómo organizar dependencias en un proyecto Android grande
Criterios prácticos para ordenar dependencias, reducir acoplamiento y evitar que el proyecto se vuelva un grafo inmanejable.
Abr 2026
17
CI/CD para Android con GitHub Actions
Pipeline completo paso a paso: compilar y testear en cada PR, firmar el AAB, versionCode automático y publicar en Play Store con aprobación manual para producción.
Abr 2026
18
Deep links y App Links en Android
La diferencia entre deep link custom, web link y App Link verificado. Verificación del dominio con assetlinks.json, Navigation Component y cómo testearlos con adb.
Abr 2026
19
Biometría en Android: huella y face unlock
BiometricPrompt, verificar disponibilidad, fallback a PIN, proteger claves del Keystore con autenticación biométrica y manejar el ciclo de vida sin duplicar el prompt.
Abr 2026
20
Code review en proyectos Android
Qué mirar en un PR de Android: arquitectura, coroutines, Compose, ciclo de vida, seguridad y tests. Más cómo dar y recibir feedback que mejora el código sin dañar al equipo.
Abr 2026
21
Kotlin Flow: cold vs hot, shareIn vs stateIn
Por qué cold flows ejecutan el bloque por cada colector, cómo StateFlow y SharedFlow se comportan diferente, y cuándo stateIn o Channel es la herramienta correcta.
Abr 2026
22
In-App Updates y In-App Reviews en Android
Flexible vs Immediate update, cómo solicitar reseñas sin violar las políticas de Google, FakeReviewManager para testear y los errores más comunes de implementación.
Abr 2026
23
Retrofit avanzado en Android
Interceptors de OkHttp, token refresh automático con Authenticator, manejo consistente de errores de red con sealed class, logging sin filtrar datos sensibles y dos clientes HTTP con Hilt.
Abr 2026
24
Cómo reducir el tamaño del APK/AAB
App Bundle, R8 bien configurado, WebP, resConfigs, dependencias pesadas y Dynamic Delivery. Con el impacto típico de cada técnica y el orden en que conviene aplicarlas.
Abr 2026
25
Detección y corrección de ANRs en Android
Cómo leer el ANR trace, las causas reales (I/O en Main thread, deadlocks, Binder calls), StrictMode para detectarlos en desarrollo y cómo interpretarlos en Play Console.
Abr 2026
26
LazyColumn: performance y errores comunes
keys, contentType, recomposición innecesaria, estado en items, listas anidadas y Column dentro de LazyColumn. Con cómo medir cada problema con el Layout Inspector y System Trace.
Abr 2026