Every app has an architecture, good or bad. Since there is no universal set of rules (methodology) about how to build an app, every developer/team has to come up with their own solution every time an app is being built. There are quite few design patterns that are trying to describe how to organize overall application structure on a high level, but one of the most promising is so-called "unidirectional data flow" pattern introduced by Facebook in their Flux framework. UniFlow is an attempt to build a universal foundation for any iOS app.