Interactive transitions in a modular iOS architecture
This article explores using Flow Controllers to navigate a modular multi-project iOS Swift application, and proposes using Flow Interactors to trigger flows and drive their transitions.
It assumes you know how to setup your application into a workspace with multiple sub-projects — using their frameworks as dependencies. If not, take a peek at this example to catch up.
Introduction
Your app is going to be the next big thing. You’ve dedicated sleepless nights to its development — having developed a coffee-habit that contributes a considerable sum to Central America’s GDP.
Your well-planned sprint towards world-domination has given you the foresight to compose your codebase into layered, isolated feature modules.
With your app’s modularised codebase:
- Features are encapsulated
- Code is re-usable
- Code is robust — errors are caught before they propagate into dependent layers
- Features are easily A/B tested and canary-released
- Yada yada yada…
The benefits are clear.
However, with features being unaware of each other, how do I express controlling navigation and transitions…