Skip to content

mouredev/Android-Developer-Roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

📲 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!

Puedes apoyar mi trabajo haciendo "☆ Star" en el repo o nominarme a "GitHub Star". ¡Gracias!

GitHub Star

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

Freelance full-stack iOS & Android engineer

YouTube Channel Subscribers Twitch Status Discord Twitter Follow GitHub Followers

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.

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

Web

About

Ruta de aprendizaje desde cero para convertirte en Android Developer

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published