{"id":19482803,"url":"https://github.com/mouredev/android-developer-roadmap","last_synced_at":"2025-05-16T18:10:01.134Z","repository":{"id":41423863,"uuid":"447300646","full_name":"mouredev/Android-Developer-Roadmap","owner":"mouredev","description":"Ruta de aprendizaje desde cero para convertirte en Android Developer","archived":false,"fork":false,"pushed_at":"2024-09-08T08:44:53.000Z","size":21,"stargazers_count":906,"open_issues_count":2,"forks_count":80,"subscribers_count":40,"default_branch":"main","last_synced_at":"2025-04-07T19:11:19.085Z","etag":null,"topics":["android","android-studio","jetpack-compose","kotlin","roadmap"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mouredev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-12T16:58:57.000Z","updated_at":"2025-04-02T14:22:33.000Z","dependencies_parsed_at":"2024-11-10T20:12:18.717Z","dependency_job_id":null,"html_url":"https://github.com/mouredev/Android-Developer-Roadmap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouredev%2FAndroid-Developer-Roadmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouredev%2FAndroid-Developer-Roadmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouredev%2FAndroid-Developer-Roadmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouredev%2FAndroid-Developer-Roadmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mouredev","download_url":"https://codeload.github.com/mouredev/Android-Developer-Roadmap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254582907,"owners_count":22095518,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-studio","jetpack-compose","kotlin","roadmap"],"created_at":"2024-11-10T20:12:16.923Z","updated_at":"2025-05-16T18:10:01.085Z","avatar_url":"https://github.com/mouredev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📲 Android Developer Roadmap\n## Ruta de aprendizaje desde cero para convertirte en Android Developer en 2022\n\u003e ℹ️ He creado este repositorio para actualizarlo continuamente con recursos de aprendizaje de dentro y fuera de la comunidad.\n\u003e  \n\u003e ⚠️ **IMPORTANTE:** No dudes en sugerir [cambios](https://github.com/mouredev/Android-Developer-Roadmap/discussions), hacer [pull request](https://github.com/mouredev/Android-Developer-Roadmap/pulls) o crear una nueva [issue](https://github.com/mouredev/Android-Developer-Roadmap/issues) para compartir tus recursos y así añadirlos al repo con intención de crear una gran guía de estudio.\n\n## Introducción\n\n\u003ca href=\"https://youtu.be/fWGTILchXTM\"\u003e\u003cimg src=\"http://i3.ytimg.com/vi/fWGTILchXTM/maxresdefault.jpg\" style=\"height: 50%; width:50%;\"/\u003e\u003c/a\u003e\n\n**▶️ Antes de empezar te servirá de ayuda ver una introducción detallada donde explico el roadmap y el funcionamiento del repositorio en mi tutorial de [YouTube](https://youtu.be/fWGTILchXTM).**\n\n## Proceso de aprendizaje\nDebes entender que aprender programación es una carrera de fondo. Tendrás mejores y peores momentos, pero, ¿sabes qué? **¡Le pasa a todo el mundo!**. Al final del trayecto te espera un sector lleno de grandes oportunidades. Te recomiendo que te unas a nuestro servidor de Discord, donde compartimos recursos y nos ayudamos.\n\n[![Discord](https://img.shields.io/badge/Discord-Únete_a_nuestra_comunindad-5865F2?style=for-the-badge\u0026logo=discord\u0026logoColor=white\u0026labelColor=101010)](https://mouredev.com/discord)\n\nPara mejorar nuestras habilidades publico retos de programación semanales y mensuales en estos dos repositorios. También desarrollamos nuestra aplicación real [Twitimer](https://twitimer.com/), disponible en Google Play Store y Huawei AppGallery, con todo su código público.\n\n[![Reto mensual](https://img.shields.io/github/stars/mouredev/Monthly-App-Challenge-2022?label=Reto%20mensual\u0026style=social)](https://github.com/mouredev/Monthly-App-Challenge-2022)\n[![Reto semanal](https://img.shields.io/github/stars/mouredev/Weekly-Challenge-2022-Kotlin?label=Reto%20semanal%20Kotlin/Android\u0026style=social)](https://github.com/mouredev/Weekly-Challenge-2022-Kotlin)\n[![Twitimer](https://img.shields.io/github/stars/mouredev/Twitimer-Android?label=Twitimer%20Android\u0026style=social)](https://github.com/mouredev/Twitimer-Android)\n\n🍏 Este roadmap también lo tienes disponible para desarrollo de aplicaciones en entornos Apple.\n\n[![Apple Developer Roadmap](https://img.shields.io/github/stars/mouredev/Apple-Developer-Roadmap?label=Roadmap%20Apple%20Developer\u0026style=social)](https://github.com/mouredev/Apple-Developer-Roadmap)\n\n## Fuentes de información\nRecuerda la importancia de desarrollar habilidades para resolver problemas y encontrar información relevante. Puede sonar mal, pero [Google](https://www.google.com/) es una de nuestras principales herramientas de trabajo, y debemos saber usarlo. Otros lugares que debes conocer son:\n\n* [Android Developer](https://developer.android.com/): Sitio web oficial para desarrolladores Android\n* [GitHub](https://github.com/): Repositorio de código público más grande del mundo\n* [Stack Overflow](https://stackoverflow.com/): Resolución de problemas\n* [Medium](https://medium.com/) y [Dev.to](https://dev.to/): Artículos de interés\n\n## Ruta de aprendizaje\nEl roadmap estará compuesto por algunos recursos oficiales, otros creados por mí, y por los sugeridos desde la propia comunidad como comento al principio de este documento. *Por supuesto, esta mi ruta personal para aprender desarrollo de aplicaciones desde cero y dedicarte profesionalmente a ello (en ningún momento quiero que pienses que es la mejor o la única, simplemente es la que yo creo que te puede ayudar).*\n\n\u003e 📈 **A continuación tendrás el roadmap formado por un listado de conocimientos a adquirir (así como distintos sitios web donde comenzar su aprendizaje). Este listado se irá actualizando y completando, incluso creando nuevos documentos para agrupar enlaces de interés.**\n\n### 1️⃣ Lenguaje de programación: Kotlin\nDebes aprender sus fundamentos, tipos de datos primivos y estructuras, flujo lógico y paradigma de programación orientada a objetos.\n\n* [KotlinLang.org sitio web oficial](https://kotlinlang.org/)\n* [Cursos en KotlinLang.org](https://kotlinlang.org/education/)\n* [TUTORIAL Kotlin desde cero](https://youtu.be/ebQphhLpJG0)\n* [TUTORIAL Kotlin intermedio](https://youtu.be/AA3N_yQQtHY)\n\n### 2️⃣ Editores de código: Android Studio y Kotlin Playground Online\nPuedes usar estos dos editores de código para aprender Kotlin, eso sí, para crear aplicaciones no podrás hacerlo con el editor online.\n\n* [Android Studio](https://developer.android.com/studio)\n* [Kotlin Playground Online](https://play.kotlinlang.org/)\n* [TUTORIAL Android Studio](https://youtu.be/BQaxPwZWboA)\n\nTambién debes comenzar a conocer otros conceptos importantes dentro de la ingeniería de software:\n\n* Expresiones regulares.\n* Recursividad.\n* Notación asintótica.\n* Funciones de orden superior.\n* Porgramación orientada a objetos.\n\n### 3️⃣ Librerías y Frameworks: Android Views y Jetpack Compose\nEs hora de comenzar a trabajar con las librerías de código que nos proporciona Android para crear Apps. Nos centraremos en las especializadas en creación de interfaces de usuario (UI): Android Views y Jetpack Compose (el nuevo framework lanzado en 2021 diseñado para poco a poco sustituir a Android Views).\n\n* [Jetpack Compose](https://developer.android.com/jetpack/compose)\n* [Android Views](https://developer.android.com/guide/topics/ui/declaring-layout)\n* [TUTORIAL Jetpack Compose](https://youtu.be/yVIGAvMO3bc)\n\nOtros conceptos importantes a tener en cuenta:\n\n* XML\n* Programación orientada a estados.\n* Programación imperativa.\n* Programación declarativa.\n* Programación funcional.\n\n### 4️⃣ Guías de desarrollo y diseño\nLa documentación oficial de Android es esencial para conocer sus normas, recomendaciones y procesos.\n\n* [Guía de desarrollo oficial](https://developer.android.com/guide)\n* [Guía Material Design oficial](https://material.io/)\n\nNo olvides la importancia de los siguiente conceptos:\n\n* Comentarios de código.\n* [Markdown](https://www.markdownguide.org/) como lenguaje marcador para generar documentación.\n\n### 5️⃣ Patrones de diseño\nMecanismos para resolver de forma elegante problemas comunes en programación\n\n[Estos son algunos de los principales](https://refactoring.guru/es/design-patterns):\n\n* Singleton.\n* Factory.\n* Builder.\n* Adapter.\n* Facade.\n* Observer.\n* Iterator.\n* ...\n\n### 6️⃣ Arquitectura de software: MVC y MVVM\nLa arquitectura de software de nuestro programa hace referencia a cómo se estructura nuestro programa en capas y cuál es la responsabilidad de cada una de las piezas que conforman nuestra App.\n\n* MVC (Modelo-Vista-Controlador): Arquitectura básica.\n* MVVM (Modelo-Vista-VistaModelo): Arquitectura más avanzada.\n\nSigue trabajando estos nuevos conceptos:\n\n* Principios SOLID.\n* Programación en base a código limpio.\n\n### 7️⃣ Funcionalidades\nImplementaciones de características muy habituales en aplicaciones de todo tipo que debes conocer.\n\n* Almacenamiento de datos:\n\t* [SharedPreferences](https://developer.android.com/training/data-storage/shared-preferences)\n\t* [Room](https://developer.android.com/training/data-storage/room)\n\t* [Realm](https://github.com/realm/realm-kotlin)\n\n* Conexión con servidor remoto:\n\t* [REST](https://restfulapi.net/)\n\t* [HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)\n\t* [JSON](https://www.json.org/json-en.html)\n\t* [Concurrencia y asincronía](https://kotlinlang.org/docs/native-concurrency.html)\n\n* Otras funcionalidades:\n\t* [Android Jetpack](https://developer.android.com/jetpack)\n\t* [TUTORIAL servicios Firebase](https://youtu.be/KYPc7CAYJOw)\n\nGestor de dependencias para ayudarnos a trabajar con código de terceros y gestionar el ciclo de vida de la aplicación:\n\n* [Gradle.org](https://gradle.org/)\n\n### 8️⃣ Esenciales\nAprender a desarrollar aplicaciones para entornos Android precisa de otras habilidades esenciales no directamente relacionadas.\n\n* Aprende Inglés: La mayor parte de la documentación y código se escribe en este idioma.\n\t* [Cambly](https://www.cambly.com/invite/YDVHFWXN?st=011422\u0026sc=4) te permite aprender online con profesores nativos de forma online.\n* [Git](https://git-scm.com/): Es básico saber trabajar con el gestor de versiones más utilizado.\n\t* Puedes ayudarte usando clientes gráficos como [GitKraken](https://www.gitkraken.com/invite/cZWhJq1v) (en vez de hacer todo por línea de comandos).\n\n### 9️⃣ Pruebas\nDebes adquirir habilidades de testing y debug para mantener tu código íntegro y libre de errores.\n\n* [TUTORIAL Testing en Google Play](https://youtu.be/z_8gp_IaeVI): La plataforma oficial de test de aplicaciones de Android.\n\n### 1️⃣0️⃣ Publicación\nYa sólo falta cómo desplegar aplicaciones en la Google Play Store.\n\n* [TUTORIAL Google Play Store](https://youtu.be/vBHmJHp8Ldo)\n\n🎓 **EXTRAS:** Aquí te dejo algún recurso extra relacionado con aprendizaje y obtención de certificaciones:\n\n* [Google Codelabs](https://codelabs.developers.google.com/)\n* [JetBrains Kotlin Partner](https://www.jetbrains.com/company/partners/kotlin/)* \n* [Associate Android Developer](https://developers.google.com/certification/associate-android-developer)\n* [Google Developer Expert](https://developers.google.com/community/experts)\n\n\u003e Este es el roadmap básico para convertirse en Apple Developer. No olvides hacer ⭐️ para seguir sus futuras actualizaciones.\n\u003e Ayúdame a mejorar con tu feedback ¡MUCHAS GRACIAS!\n\n#### Puedes apoyar mi trabajo haciendo \"☆ Star\" en el repo o nominarme a \"GitHub Star\". ¡Gracias!\n\n[![GitHub Star](https://img.shields.io/badge/GitHub-Nominar_a_star-yellow?style=for-the-badge\u0026logo=github\u0026logoColor=white\u0026labelColor=101010)](https://stars.github.com/nominate/)\n\n## ![https://mouredev.com](https://raw.githubusercontent.com/mouredev/mouredev/master/mouredev_emote.png) Hola, mi nombre es Brais Moure.\n### Freelance full-stack iOS \u0026 Android engineer\n\n[![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCxPD7bsocoAMq8Dj18kmGyQ?style=social)](https://youtube.com/mouredevapps?sub_confirmation=1)\n[![Twitch Status](https://img.shields.io/twitch/status/mouredev?style=social)](https://twitch.com/mouredev)\n[![Discord](https://img.shields.io/discord/729672926432985098?style=social\u0026label=Discord\u0026logo=discord)](https://mouredev.com/discord)\n[![Twitter Follow](https://img.shields.io/twitter/follow/mouredev?style=social)](https://twitter.com/mouredev)\n![GitHub Followers](https://img.shields.io/github/followers/mouredev?style=social)\n\nSoy ingeniero de software desde hace más de 12 años. Desde hace 4 años combino mi trabajo desarrollando Apps con creación de contenido formativo sobre programación y tecnología en diferentes redes sociales como **[@mouredev](https://moure.dev)**.\n\n### En mi perfil de GitHub tienes más información\n\n[![Web](https://img.shields.io/badge/GitHub-MoureDev-14a1f0?style=for-the-badge\u0026logo=github\u0026logoColor=white\u0026labelColor=101010)](https://github.com/mouredev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmouredev%2Fandroid-developer-roadmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmouredev%2Fandroid-developer-roadmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmouredev%2Fandroid-developer-roadmap/lists"}