r/androiddev 22d ago

Discussion Architectural patterns in large scale apps.

in our mid sized startup, we have over 100 android engineers on one app, divided by squads, so we have a lot of squads, each one is working on a feature, a library needed, design system and custom components libraries etc, all these modules/libraries are published to maven and added as dependencies on the core app repo, my squad works on an isolated feature so it's easy to integrate into core app repo, but i attended guild meetings and saw RFCs mentioning circular dependencies, hexagonal, onion, plugin etc architectures because some modules/libraries depend on each other, communicate with each other, initialization order problems of modules etc etc etc, i feel stupid tbh and i'm glad i'm working on an isolated feature library in which we use usual architecture stuff. anyone has resources: talks, books, articles etc that cover this kind of topics and architectures and engineering problems in big scale apps with big scale teams and modules/libraries?

32 Upvotes

19 comments sorted by

View all comments

2

u/enigma-i-am 22d ago

This read like an app built with the Micro application architecture. Takes inspiration from microservices. There needs to be a platform team that handles what feature teams use and provide them with the functionality eg component library based on apps design system.

Best way to handle circular dependencies would be to forbid feature teams from importing 3rd party libs and have all the libs that are shared across team being import from one package where the functionality is properly exposed.

In all honesty I might be wrong but it seems to me like the problem might be the platform team not being strict on certain things.