An Android app is a forest of trees: views, contexts, navigation, and model. These hierarchical structures are distinct but often entangled, making apps complex, hard to build, and harder to understand.
This talk will focus on how Square has cleared the forest, teasing the trees apart to build simple, testable, maintainable apps. It will cover the techniques we use to work with each tree individually and to manage their interactions to minimize complexity. Throughout, there will be discussion of how these techniques relate to libraries like Dagger, Mortar, Flow, Transitions, and others.
Logan Johnson is a modernist Android developer at Square, working on Caviar and helping out wherever else he can.