Evolving Mobile Architecture at Reddit
Reddit has grown and continues to grow both as an organization and a product. Consequently, the Reddit iOS app was placed under heavier demands. The app needed to support more feature requests, faster development iteration cycles, and a higher quality standard. It also had to support a development team that had grown from around three developers to twenty-plus developers.
Underpinning of all this, these changes needed to maintain a high crash-free session rate, lay the foundation for the next phase of growth, and work without disrupting the feature teams dependent on the existing infrastructure. This meant changes had to be evolutionary rather than revolutionary.
The original MVC architecture strained under these increased demands and we needed to make architectural changes to adapt. While we considered several options, we decided to go with a Model-View-Presenter (MVP) architecture.