Lately I was developing an app, GoodApp. Yes, that is the name of the app. The problem statement was, it contains more than 20 micro apps and I am supposed to architect in a scalable way.
Though there is a lot of action happening all around the app. Few things helped me to scale quickly.
- Kotlin Coroutines
- Architecture components
- UI components
- Custom ViewController architecture
Every app has some architecture defined according to the requirments and for me, it was about speed and A/B testing of UI. Being in a startup, it was clear we need to revamp UI a couple of times until we reach wide adoption and hence some architecture was needed to support the same.
We came up with 2 ideas:
- Creating reusable UI components
- Making view smart-dumb and replaceable on the fly