Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mouredev/android-developer-roadmap
Ruta de aprendizaje desde cero para convertirte en Android Developer
https://github.com/mouredev/android-developer-roadmap
android android-studio jetpack-compose kotlin roadmap
Last synced: 3 days ago
JSON representation
Ruta de aprendizaje desde cero para convertirte en Android Developer
- Host: GitHub
- URL: https://github.com/mouredev/android-developer-roadmap
- Owner: mouredev
- License: apache-2.0
- Created: 2022-01-12T16:58:57.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-08T08:44:53.000Z (2 months ago)
- Last Synced: 2024-09-08T09:52:52.039Z (2 months ago)
- Topics: android, android-studio, jetpack-compose, kotlin, roadmap
- Homepage:
- Size: 20.5 KB
- Stars: 835
- Watchers: 41
- Forks: 80
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 📲 Android Developer Roadmap
## Ruta de aprendizaje desde cero para convertirte en Android Developer en 2022
> ℹ️ He creado este repositorio para actualizarlo continuamente con recursos de aprendizaje de dentro y fuera de la comunidad.
>
> ⚠️ **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.## Introducció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).**
## Proceso de aprendizaje
Debes 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.[![Discord](https://img.shields.io/badge/Discord-Únete_a_nuestra_comunindad-5865F2?style=for-the-badge&logo=discord&logoColor=white&labelColor=101010)](https://mouredev.com/discord)
Para 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.
[![Reto mensual](https://img.shields.io/github/stars/mouredev/Monthly-App-Challenge-2022?label=Reto%20mensual&style=social)](https://github.com/mouredev/Monthly-App-Challenge-2022)
[![Reto semanal](https://img.shields.io/github/stars/mouredev/Weekly-Challenge-2022-Kotlin?label=Reto%20semanal%20Kotlin/Android&style=social)](https://github.com/mouredev/Weekly-Challenge-2022-Kotlin)
[![Twitimer](https://img.shields.io/github/stars/mouredev/Twitimer-Android?label=Twitimer%20Android&style=social)](https://github.com/mouredev/Twitimer-Android)🍏 Este roadmap también lo tienes disponible para desarrollo de aplicaciones en entornos Apple.
[![Apple Developer Roadmap](https://img.shields.io/github/stars/mouredev/Apple-Developer-Roadmap?label=Roadmap%20Apple%20Developer&style=social)](https://github.com/mouredev/Apple-Developer-Roadmap)
## Fuentes de información
Recuerda 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:* [Android Developer](https://developer.android.com/): Sitio web oficial para desarrolladores Android
* [GitHub](https://github.com/): Repositorio de código público más grande del mundo
* [Stack Overflow](https://stackoverflow.com/): Resolución de problemas
* [Medium](https://medium.com/) y [Dev.to](https://dev.to/): Artículos de interés## Ruta de aprendizaje
El 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).*> 📈 **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.**
### 1️⃣ Lenguaje de programación: Kotlin
Debes aprender sus fundamentos, tipos de datos primivos y estructuras, flujo lógico y paradigma de programación orientada a objetos.* [KotlinLang.org sitio web oficial](https://kotlinlang.org/)
* [Cursos en KotlinLang.org](https://kotlinlang.org/education/)
* [TUTORIAL Kotlin desde cero](https://youtu.be/ebQphhLpJG0)
* [TUTORIAL Kotlin intermedio](https://youtu.be/AA3N_yQQtHY)### 2️⃣ Editores de código: Android Studio y Kotlin Playground Online
Puedes usar estos dos editores de código para aprender Kotlin, eso sí, para crear aplicaciones no podrás hacerlo con el editor online.* [Android Studio](https://developer.android.com/studio)
* [Kotlin Playground Online](https://play.kotlinlang.org/)
* [TUTORIAL Android Studio](https://youtu.be/BQaxPwZWboA)También debes comenzar a conocer otros conceptos importantes dentro de la ingeniería de software:
* Expresiones regulares.
* Recursividad.
* Notación asintótica.
* Funciones de orden superior.
* Porgramación orientada a objetos.### 3️⃣ Librerías y Frameworks: Android Views y Jetpack Compose
Es 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).* [Jetpack Compose](https://developer.android.com/jetpack/compose)
* [Android Views](https://developer.android.com/guide/topics/ui/declaring-layout)
* [TUTORIAL Jetpack Compose](https://youtu.be/yVIGAvMO3bc)Otros conceptos importantes a tener en cuenta:
* XML
* Programación orientada a estados.
* Programación imperativa.
* Programación declarativa.
* Programación funcional.### 4️⃣ Guías de desarrollo y diseño
La documentación oficial de Android es esencial para conocer sus normas, recomendaciones y procesos.* [Guía de desarrollo oficial](https://developer.android.com/guide)
* [Guía Material Design oficial](https://material.io/)No olvides la importancia de los siguiente conceptos:
* Comentarios de código.
* [Markdown](https://www.markdownguide.org/) como lenguaje marcador para generar documentación.### 5️⃣ Patrones de diseño
Mecanismos para resolver de forma elegante problemas comunes en programación[Estos son algunos de los principales](https://refactoring.guru/es/design-patterns):
* Singleton.
* Factory.
* Builder.
* Adapter.
* Facade.
* Observer.
* Iterator.
* ...### 6️⃣ Arquitectura de software: MVC y MVVM
La 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.* MVC (Modelo-Vista-Controlador): Arquitectura básica.
* MVVM (Modelo-Vista-VistaModelo): Arquitectura más avanzada.Sigue trabajando estos nuevos conceptos:
* Principios SOLID.
* Programación en base a código limpio.### 7️⃣ Funcionalidades
Implementaciones de características muy habituales en aplicaciones de todo tipo que debes conocer.* Almacenamiento de datos:
* [SharedPreferences](https://developer.android.com/training/data-storage/shared-preferences)
* [Room](https://developer.android.com/training/data-storage/room)
* [Realm](https://github.com/realm/realm-kotlin)* Conexión con servidor remoto:
* [REST](https://restfulapi.net/)
* [HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)
* [JSON](https://www.json.org/json-en.html)
* [Concurrencia y asincronía](https://kotlinlang.org/docs/native-concurrency.html)* Otras funcionalidades:
* [Android Jetpack](https://developer.android.com/jetpack)
* [TUTORIAL servicios Firebase](https://youtu.be/KYPc7CAYJOw)Gestor de dependencias para ayudarnos a trabajar con código de terceros y gestionar el ciclo de vida de la aplicación:
* [Gradle.org](https://gradle.org/)
### 8️⃣ Esenciales
Aprender a desarrollar aplicaciones para entornos Android precisa de otras habilidades esenciales no directamente relacionadas.* Aprende Inglés: La mayor parte de la documentación y código se escribe en este idioma.
* [Cambly](https://www.cambly.com/invite/YDVHFWXN?st=011422&sc=4) te permite aprender online con profesores nativos de forma online.
* [Git](https://git-scm.com/): Es básico saber trabajar con el gestor de versiones más utilizado.
* Puedes ayudarte usando clientes gráficos como [GitKraken](https://www.gitkraken.com/invite/cZWhJq1v) (en vez de hacer todo por línea de comandos).### 9️⃣ Pruebas
Debes adquirir habilidades de testing y debug para mantener tu código íntegro y libre de errores.* [TUTORIAL Testing en Google Play](https://youtu.be/z_8gp_IaeVI): La plataforma oficial de test de aplicaciones de Android.
### 1️⃣0️⃣ Publicación
Ya sólo falta cómo desplegar aplicaciones en la Google Play Store.* [TUTORIAL Google Play Store](https://youtu.be/vBHmJHp8Ldo)
🎓 **EXTRAS:** Aquí te dejo algún recurso extra relacionado con aprendizaje y obtención de certificaciones:
* [Google Codelabs](https://codelabs.developers.google.com/)
* [JetBrains Kotlin Partner](https://www.jetbrains.com/company/partners/kotlin/)*
* [Associate Android Developer](https://developers.google.com/certification/associate-android-developer)
* [Google Developer Expert](https://developers.google.com/community/experts)> Este es el roadmap básico para convertirse en Apple Developer. No olvides hacer ⭐️ para seguir sus futuras actualizaciones.
> Ayúdame a mejorar con tu feedback ¡MUCHAS GRACIAS!#### Puedes apoyar mi trabajo haciendo "☆ Star" en el repo o nominarme a "GitHub Star". ¡Gracias!
[![GitHub Star](https://img.shields.io/badge/GitHub-Nominar_a_star-yellow?style=for-the-badge&logo=github&logoColor=white&labelColor=101010)](https://stars.github.com/nominate/)
## ![https://mouredev.com](https://raw.githubusercontent.com/mouredev/mouredev/master/mouredev_emote.png) Hola, mi nombre es Brais Moure.
### Freelance full-stack iOS & Android engineer[![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCxPD7bsocoAMq8Dj18kmGyQ?style=social)](https://youtube.com/mouredevapps?sub_confirmation=1)
[![Twitch Status](https://img.shields.io/twitch/status/mouredev?style=social)](https://twitch.com/mouredev)
[![Discord](https://img.shields.io/discord/729672926432985098?style=social&label=Discord&logo=discord)](https://mouredev.com/discord)
[![Twitter Follow](https://img.shields.io/twitter/follow/mouredev?style=social)](https://twitter.com/mouredev)
![GitHub Followers](https://img.shields.io/github/followers/mouredev?style=social)Soy 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)**.
### En mi perfil de GitHub tienes más información
[![Web](https://img.shields.io/badge/GitHub-MoureDev-14a1f0?style=for-the-badge&logo=github&logoColor=white&labelColor=101010)](https://github.com/mouredev)