4 min de lectura

Android: ¿Qué deberían hacer los principiantes y los profesionales experimentados?

¿Cuáles son las principales tendencias en el desarrollo de Android? ¿Por dónde empezar a aprender? ¿Cuáles son las tecnologías prometedoras a las que deberías prestar atención? Artem Bagritsevich, un ingeniero de Android con diez años de experiencia - que ahora trabaja en EPAM — contesta estas y otras preguntas exclusivamente para Anywhere Club.

Artem Bagritsevich, an Android engineer

Cómo convertirse en un desarrollador de Android

— Por supuesto, puedes encontrar muchas fuentes de información en estos días: libros, artículos, conferencias, documentación. Entendiblemente, puede ser difícil para un futuro desarrollador decidirse. Mi consejo sería empezar con un mapa de ruta para desarrolladores de Android, pero hay de todo tipo. Me gusta Stream's Roadmap: es el más completo y lógico.

También hay enlaces al blog de la empresa, en el cual se examina cada paso en detalle.

También está el recurso roadmap.sh: ellos ofrecen un camino un poco diferente. Lo bueno es que, además de Android, también puedes dominar los sistemas de control de versiones: cualquier desarrollador necesita conocerlos y ser capaz de usarlos. Desde mi punto de vista, este mapa de ruta es más accesible porque omite algunos temas profundos que son difíciles de entender para un principiante - HAL y el núcleo de Linux, por ejemplo.

Ambas fuentes sugieren empezar con lenguajes de programación, y aquí recomiendo elegir Kotlin: todo el desarrollo moderno se hace con él. En cuanto a Java, todavía tendrás que aprender los conceptos básicos de JVM, la disposición de la memoria, y la recolección de basura (GC). La sintaxis del lenguaje no será tan importante como entender los conceptos básicos porque Kotlin se ejecuta en la JVM, y todo bajo la capa sigue siendo lo mismo.

Para aprender el lenguaje, recomiendo encarecidamente el curso oficial gratuito de sus creadores. 

Esto te enseñará los conceptos básicos, los tipos de datos, y la programación orientada a objetos.

Qué leer y dónde aprender

Como dije anteriormente, hay muchas fuentes disponibles en el mercado, pero, por ejemplo, los libros se quedan obsoletos rápidamente: no recomendaría usarlos. Los artículos en Internet también pierden relevancia rápidamente, por lo que es esencial prestar atención a la fecha de su publicación. Todo cambia rápidamente en IT y el desarrollo de Android; lo que teníamos hace diez o cinco años y lo que vemos ahora son cosas completamente distintas : diferentes herramientas, lenguajes, bibliotecas y enfoques arquitectónicos.

Muchos cursos prometen hacerte una superestrella desde cero en unos meses. No te dejes engañar por esto. He dado un curso gratuito sobre desarrollo Android en Rolling Scopes más de una vez, y sé que, en pocos meses, los estudiantes sólo empiezan a dominar el lenguaje de programación y a resolver problemas fundamentales. Para convertirse en un experto, necesitas obtener experiencia práctica, desarrollar varias aplicaciones complejas utilizando enfoques modernos y aprender la teoría. Sólo después de eso viene la comprensión de cómo funciona el sistema y cuáles son sus capacidades y limitaciones. En promedio, nos llevó un año entrenar a un especialista junior. Sí, todo depende de la persona, de su motivación, y de la cantidad de tiempo dedicado. Puedes acelerar el aprendizaje, pero, no estamos hablando de unos pocos meses.

De nuevo: comienza con el estudio de Kotlin; incluso en esta etapa, entenderás si te gusta el desarrollo en general. Y luego, teniendo conocimientos básicos, es mucho más fácil tomar una decisión.

Luego puedes ir paso a paso por el mapa de ruta: buscar y encontrar la información necesaria es una de las habilidades críticas para un desarrollador de Android.

Recomiendo encarecidamente la documentación oficial, así como los codelabs de Google.

Después de eso, todo lo que tienes que hacer es ganar experiencia, escribir nuevas aplicaciones y estar al tanto de los cambios en la tecnología y las actualizaciones.

Las 3 mejores fuentes a seguir

  • No creo que ningún desarrollador de Android se pierda la principal conferencia de Google I/O. Se revelan muchas de las cosas en las que los empleados de la empresa han estado trabajando todo el año;

  • Es esencial asistir a las sesiones sobre cambios en la nueva versión de Android — Google suele organizarlas especialmente para los desarrolladores. Durante la conferencia, también hay muchos eventos, talleres y otras actividades orientadas al desarrollo y al aprendizaje.

Grupo de Desarrolladores de Android en Discord

Nada te ayuda a crecer como trabajar en un proyecto real. O al menos en un proyecto de aprendizaje, pero bajo la supervisión de un mentor. En nuestra escuela, siempre confiamos en que los desarrolladores experimentados comprobarán las tareas en la última etapa y ayudarán a los desarrolladores junior de Android. Trata de encontrar un mentor experimentado: será mucho más fácil aprender. Por ejemplo, puedes unirte a nuestro grupo en Discord, donde siempre estamos dispuestos a ayudar.

¿Y si ya soy un desarrollador de Android?

  • Igualmente: revisa el mapa de ruta; tal vez haya lagunas en tus conocimientos que pueden llenarse con solo tomar un par de codelabs. Mantente al tanto de los avances tecnológicos también. Además, ayuda a los nuevos desarrolladores: de esa forma, obtendrás valiosa experiencia de mentoría y podrás recordar algunas cosas con las que no trabajas todos los días.

  • El mundo del desarrollo está cambiando, y si hace un par de años todos alababan a los MVP, ahora ese enfoque está siendo criticado. Es el momento de las arquitecturas UDF y la UI declarativa, así que sugiero que todos miren a Jetpack Compose. Estoy seguro de que se convertirá en un estándar en unos años — tal como ahora lo es ConstraintLayout. No deberías tener miedo a estos cambios — necesitas acostumbrarte a ellos y aprender nuevos enfoques.

  • Otra tendencia es la multiplataforma y la reutilización de código. Hay muchos frameworks multiplataforma en el mercado, como ReactNative, Xamarin y Flutter: han tomado parte del mercado del desarrollo nativo, pero no es tan malo. Las aplicaciones nativas todavía tienen ventajas: UI/UX, rendimiento e integraciones de plataforma. No olvidemos que también podemos reutilizar código. Kotlin Multiplataforma Móvil es otra cosa a la que se debe prestar atención: esta tecnología ya es popular en el mercado y sus capacidades están en constante desarrollo.

  • Multimodularidad. Quizás todo el mundo está intentando alejarse del monolito y dividir la aplicación en partes más pequeñas que sean más fáciles de mantener. Si tu aplicación tiene más de unas pocas pantallas, vale la pena pensarlo.