Building a dynamic modular iOS architecture

Preparing for a non-linear workflow

Mark Jarecki
fluxom

--

Introduction

Previously, I extolled the virtues of a modular architecture, and how a flow controller aids in sequencing navigation between isolated feature modules.

The implementation provided, was illustrative — a taste of how to handle the problem of monolithic architectures — fine for small applications with a single flow and a limited number of modules, but not a solution for building more complex real-world iOS apps in teams.

In this article, I present a more scalable solution. Something that will handle the most intricate and variable of navigational structures, and suit a dynamic workflow that doesn’t fight the non-linear nature of app development.

How we work

App production is imperfect from inception — assumptions are often incorrect, technology choices are regularly inappropriate and over-arching business requirements are ever-changing. The ability to rapidly move from idea, to prototype, to iteration, to continually-delivered product is critical. We strive to move our vision from low to high fidelity at break-neck speed, within an environment that is chaotic.

We work in teams of varying sizes and domains of expertise. Ideally, we want to be working together. Each, dividing our efforts and contributing to the speedy production of the whole. In reality, a project’s dependencies are often not ready when…

--

--

Mark Jarecki
fluxom
Editor for

Interactive product developer and information visualisation aficionado