Para crear un proyecto en Android, es muy importante que conozcas las bases suficientes para su desarrollo, así como algunas de las bibliotecas y componentes de arquitectura como Room, LiveData, ViewModel, etc. Conocer todo esto está muy bien, ya que te prepara para el siguiente paso que es saber cómo diseñar tu aplicación.
Diseñar una aplicación no es exclusivo de los diseñadores, también implica elaborar una solución bien estructurada y saber manejar los módulos y componentes de tu proyecto. Para ello, es importante que conozcas algo que seguramente te dará un gran valor agregado como desarrollador: implementar una arquitectura, y en específico, una que ha tomado gran relevancia con el paso de los años.
Clean Architecture es un concepto que se hizo popular gracias a Robert C. Martin, conocido como “Uncle Bob”. Este concepto se basa en la premisa de estructurar el código de un proyecto en capas y cada una de estas se comunicarán con las capas más cercanas. Cada capa tiene una razón de ser y debe realizar tareas específicas.
Este diagrama contiene algunos de los términos que te ayudarán a familiarizarte con Clean Architecture:
Si bien para proyectos sencillos no es recomendable ya que, en opinión de algunos, agrega complejidad de más, en los proyectos que he trabajado en los últimos años, aún el proyecto más pequeño estaba en constante crecimiento, lo que implicaba que llegaran nuevas funcionalidades, y por ende, crecían los módulos y clases, por lo que manejar una arquitectura se volvía crucial para manejar la organización del proyecto.
Si estás interesado en ir al siguiente nivel para desarrollar aplicaciones Android con mejor estructura y calidad, te invito a tomar el Curso de Clean Architecture para Android, disponible ya mismo en Platzi.
¡Te espero en clase! Kudos 🚀
En pocas palabras un dev senior conoce de arquitectura más allá de poder usar librerías, y/o componentes.
Muy interesante el articulo pero no responde la pregunta
Pensé lo mismo. Como que el título iba para otro post y los confundió.
Pero si es interesante la publicación. Al menos aprendí algo que me era completamente desconocido.
Hola Edwin e higoro! Gracias por leer el blog! Sí, creo que el título puede mejorarse 😅. Lo que busco dar a entender es que un dev Junior conoce cómo trabajar un framework, una biblioteca y las hace funcionar, pero un dev Senior debe ir más allá: optimizar código, trabajar o definir una arquitectura, hacer que el proyecto sea escalable, etc. Conociendo Clean Architecture, te da pauta para entender mejor cómo organizar tu proyecto.
Siento que el titulo fue un poco de clickbait, pues entre buscando una comparativa entre desarrollador Junior y Senior para Android pero termine leyendo sobre un tema en especifico Clean Architecture… Algo mas Adecuado seria: “Aprende que es Clean Architecture para Android y para de ser junior a senior” es un titulo mas largo pero deja en claro el interes del post
Hola Fernando! Gracias por leer mi blog! Trabajaré en los títulos de mis siguientes entradas 😅. Kudos 🚀
Muy buen artículo, iré para allá en cuanto termine la ruta de android
Excelente Charlie! Entonces te espero en clase próximamente.🚀
Bastante interesante.
¿Y entonces? ¿Qué distingue a un desarrollador Android Senior de un Junior?
Considero que la capacidad de saber implementar arquitecturas, patrones de diseño y saber hacer sistemas escalables.
Exactamente Ramiro! 🚀
Suerte que le cambiaron el titulo al articulo. Ahora esta mas claro.
Qué tengo que aprender primero
Hola Cristian! Si vas empezando, mi consejo es empezar por las bases (POO, control de versiones (hit), cursos básico para el lenguaje qué trabajas y Android). A la par, lee las buenas prácticas o guidelines relacionadas a los proyectos en dónde quieres trabajar, de esta forma empezarás sentando tus bases y buenas prácticas desde el inicio.
Respecto a Platzi, te recomiendo iniciar con el nivel básico de la ruta de Desarrollo Android. Adicionalmente, en la primer clase de mi curso menciono algunos cursos más que te pueden interesar 😃
El blog lanza un 404
Mas que senior me parece un DevOps Android