Modularizaci贸n en Android (t茅cnicas)

modularizacion android

Modularizaci贸n en Android (t茅cnicas)

La modularizaci贸n en Android es un modo de conseguir que nuestras apps sean m谩s escalables.

Por un lado, nos permite separar responsabilidades. Con lo que cada m贸dulo tiene su propio cometido.

Y por el otro, hace que los tiempos de compilaci贸n se reduzcan.

馃敟 Descubre el SISTEMA con el que +170 ANDROID Developers han mejorado su situaci贸n laboral 鈫欙笍
Masterclass

Hay 2 t茅cnicas principales de modularizaci贸n principales: la horizontal y la vertical.

驴Has visto la charla t茅cnica de Javi Segovia sobre modularizaci贸n en Android?

Modularizaci贸n horizontal en Android

La modularizaci贸n horizontal, tambi茅n llamada en ocasiones por capas, nos permite separar los m贸dulos en funci贸n de las capas de arquitectura.

Un ejemplo de m贸dulos horizontales, podr铆a ser domain, data, presentation…

Pero siendo pr谩ctico, esto suele ser en proyectos peque帽os. Lo m谩s normal es que estos m贸dulos horizontales, sean elementos comunes dentro del proyecto. Por ejemplo, core, framework, analytics, etc.

Aunque tambi茅n se podr铆a dar el caso en el que en cada feature tambi茅n se dividiera entre m贸dulos horizontales, para asegurar que se sigue la arquitectura. IMHO, esto ser铆a un poco overkill…

Modularizaci贸n vertical en Android

La modularizaci贸n vertical o por feature, nos permite separar el proyecto por funcionalidades.

Esto es superpr谩ctico porque es lo que permite que el proyecto se vuelva muy escalable.

Si te interesa mejorar tus conocimientos en este campo,
es probable que tambi茅n te interese el Audiocurso de Modularizaci贸n en Android.

Tiempos de compilaci贸n

El hecho de que el c贸digo est茅 dividido en m贸dulos es la ca帽a. Ya que de la manera en la que Gradle gestiona el proyecto, nos permite que si un m贸dulo no ha tenido cambios (ni los m贸dulos de los que depende), no haga falta que se recompile. Lo que hace es coger la 煤ltima build que tenga cacheada (si no es que es la primera vez, o se ha hecho un rebuild).

Por lo tanto, ese tiempo que nos ahorramos.

Con lo que cuantos m谩s m贸dulos tengamos, mejor. Sin volverse locos, claro. 馃榿

Consideraciones

Biblioteca Kotlin Vs Biblioteca Android

Ten en cuenta, que los m贸dulos siempre deber铆an ser lo m谩s puros posibles.

Me explico.

Que si un m贸dulo no le hace falta el framework de Android, pues se hace de Kotlin puro.

Hacer una biblioteca de Android para algo que no le hace falta, ser铆a un consumo de recursos superfluo.

Trabajo en equipo

Tambi茅n hay que tener presente que los m贸dulos son una maravilla para trabajar en equipo.

Ya que podemos asignar el ownership de cada uno de estos a la persona / equipo / squad responsable.

Incluso te puedes crear un OWNERSHIP.md para tenerlo a mano y a la vista. Adem谩s, as铆 lo tienes en tu control de versiones para ir actualiz谩ndolo.

Subm贸dulos

Un modo muy pr谩ctico de organizar los m贸dulos es precisamente hacerlo a trav茅s de subm贸dulos.

A m铆 personalmente me gusta meter todos los horizontales dentro de uno llamado modules. Puedes verlo en el proyecto Base, que es donde est谩 la app de 芦Los androides禄. Es el m贸dulo de app gabimoreno.

Y los verticales, dentro de uno llamado features.


Potencia todo este conocimiento empezando la Masterclass gratuita

Publicado: 2023-03-20 Actualizado: 2025-12-01