Redux Swift UI


In the iOS development community, Apple’s introduction of SwiftUI at 2019’s WWDC was a breakthrough new declarative UI framework that will fundamentally change how we build apps. But while SwiftUI gives us a clear new way of more cleanly separating UI code from business logic by reactively updating to data and state changes, it’s up to us to determine how best to manage the state data that we give to SwiftUI.

In this video, we will look at how an internal app written in Swift was refactored from using UIKit and Combine to use SwiftUI using the Redux pattern.

We will review how this new architecture affected:

  • Code clarity via uni-directional data flow.
  • Code modularity, encapsulation, composition and local reasoning.
  • Cross-cutting concerns via higher-order reducers (Middleware).
  • Testability via pure reducer functions and decoupled side-effects.