Interactive transitions in a modular iOS architecture

Mark Jarecki
fluxom
Published in
5 min readFeb 6, 2019

--

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…

--

--

Mark Jarecki
fluxom
Editor for

Interactive product developer and information visualisation aficionado