📲 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, hacer pull request o crear una nueva issue 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.

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

Para mejorar nuestras habilidades publico retos de programación semanales y mensuales en estos dos repositorios. También desarrollamos nuestra aplicación real Twitimer, disponible en Google Play Store y Huawei AppGallery, con todo su código público.

Reto mensual Reto semanal Twitimer

🍏 Este roadmap también lo tienes disponible para desarrollo de aplicaciones en entornos Apple.

Apple Developer Roadmap

Fuentes de información

Recuerda la importancia de desarrollar habilidades para resolver problemas y encontrar información relevante. Puede sonal mal, pero Google es una de nuestras principales herramientas de trabajo, y debemos saber usarlo. Otros lugares que debes conocer son:

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.

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.

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).

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.

No olvides la importancia de los siguiente conceptos:

  • Comentarios de código.
  • Markdown 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:

  • 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.

Gestor de dependencias para ayudarnos a trabajar con código de terceros y gestionar el ciclo de vida de la aplicación:

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 te permite aprender online con profesores nativos de forma online.
  • Git: Es básico saber trabajar con el gestor de versiones más utilizado.
    • Puedes ayudarte usando clientes gráficos como GitKraken (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.

1️⃣0️⃣ Publicación

Ya sólo falta cómo desplegar aplicaciones en la Google Play Store.

🎓 EXTRAS: Aquí te dejo algún recurso extra relacionado con aprendizaje y obtención de certificaciones:

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!

https://mouredev.com Hola, mi nombre es Brais Moure.

Freelance full-stack iOS & Android engineer

YouTube Channel Subscribers Twitch Status Twitter Follow GitHub Followers

Soy ingeniero de software desde hace más de 11 años. Desde hace 3 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.

En mi perfil de GitHub tienes más información

Web