Android Developer Roadmap
por José Eduardo Rivas
1. Fundamentos
1.1. Control básico de terminal
1.2. GIT
1.3. Github
1.4. GitFlow
1.5. Android IDE
1.6. Java Basics
1.7. Kotlin Basics
1.8. Estructura de datos y algoritmos
1.9. Programación Orientada a Objetos
1.10. Sistema de dependencias Gradle
2. Principiante
2.1. Manifest, Estructura de proyectos Android
2.2. Actividades
2.3. Fragmentos
2.4. Contexto Android
2.5. Intent y filtros Intent
2.6. Servicios
2.7. Receptor broadcast
2.8. Proveedor de contenido
2.9. Permisos del sistema
2.10. Recursos de la aplicacion
2.11. Layout Android
2.12. Interfaces de usuario estaticas
2.13. Interfaces de usuario dinamicas
2.14. Vistas personalizadas
2.15. Recursos de interfaz de usuario
2.16. Animaciones
2.17. Navegación entre actividades
2.18. Compatibilidad entre dispositivos
2.19. Notificaciones locales
2.20. Depuracion
2.21. Perdida de memoria
3. Intermedio
3.1. Principio S.O.L.I.D
3.2. Hilos en Android
3.3. Patrones de diseño
3.3.1. Programación Reactiva
3.3.2. Clean Architecure
3.3.3. Model-View Presenter
3.3.4. Model-View ViewModel
3.3.5. Model-View Intent
3.3.6. Finite State Machine / View State
3.4. HTTP APIs
3.5. RESTful APIs
3.6. JSON Serialización
3.7. Librerías de terceros
3.7.1. Dagger
3.7.2. Koin
3.7.3. Kodein
3.7.4. RxJava, RxKotlin
3.7.5. Coroutines
3.7.6. Moshi
3.7.7. GSON
3.7.8. Retrofit
3.7.9. Apollo for GraphQL
3.7.10. ImageLoader
3.7.11. Google Maps
3.7.12. Android Jetpack
3.8. GraphQL
3.9. Almacenamiento
4. Avanzado
4.1. Programación Funcional
4.2. Test-Driven Development
4.3. Behavior-Driven Development
4.4. Testeo en Android
4.4.1. Testing unitario
4.4.2. Integration test
4.4.3. Instrumentation test
4.4.4. Smoke test