First commit of Tinder Android app was in April 2013, now the app has grown to over 1.5M LOC, with over 100M downloads on Play store. Android development has changed significantly during the time. Kotlin release versions used to have M-notation, now we live in a Kotlin first world, and everyone is waiting on kapt.
The benefits of modularization are well known in the community. But what are the steps to get there? In this talk, we will briefly cover our app architecture, and the motivation behind the initial effort in 2016, and how we got to an app with over 300 modules. Then we will dive into several modularization strategies where we started getting immediate benefit of a drastically reduced feedback loop.
But the road paved with good intentions might lead you to hell. Through many many bumps, crashes and accidents on the road, those strategies have been evolved to answer many open questions we weren’t sure about initially. How can Dagger help with separation of concerns? How granular each module should be? Where is the glue to stitch everything together? And finally, has build speed actually improved? Join Aaron and Siggi from Android Platform team at Tinder to learn a few things about modularization!