// the find
pointfreeco/swift-composable-architecture
A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.
TCA is an opinionated, Redux-inspired architecture library for Apple platforms. It gives you a strict unidirectional data flow with value-type state, composable reducers, and a first-class dependency injection system. If you're building a non-trivial SwiftUI or UIKit app and want consistency and testability across a team, this is the most complete answer in the Swift ecosystem.
The TestStore is genuinely excellent — you can assert on every state mutation and every effect response in sequence, which makes async test coverage achievable rather than painful. The @Dependency system is well thought out: registering a live value once and overriding it in tests is cleaner than constructor injection threading dependencies through 10 layers. The macro-based @Reducer reduces boilerplate without hiding what's actually happening. Actively maintained by the Point-Free team with a real benchmark suite and consistent release cadence.
The learning curve is steep and front-loaded — you're writing State, Action, Reducer, and Store for a counter before you've done anything useful, which kills buy-in on small teams. Navigation with TCA is still noticeably more verbose than vanilla SwiftUI NavigationStack, and the mental model for presenting child features requires reading the navigation article carefully before it clicks. The @Shared state mechanism is powerful but introduces implicit coordination between features that can be hard to trace in large codebases. Finally, the library is deeply tied to the Point-Free paid video series for its best documentation, which means free learners are often left debugging macro-expanded code without much guidance.