Easy-to-implement, best-practice Clean Architecture for iOS apps, featuring:
- Loosely-coupled layers
- for View / Business Logic / Data / Services
- Composable business logic
- in single-responsibility units
- Good separation of concerns
- facilitating automated testing (TDD/BDD) that’s performant and not brittle
- Ability to switch the entire application between real and mock services
- with one line of code
- largely decoupling front-end from back-end development, if needed
- Ability to easily persist & recall the entire state of the application
- without any database framework at all
- Ability to easily add time travel (rewind/fast-forward)
- between different states of the application
"Introducing Reduxion-iOS" (Medium.com)
Reduxion-iOS is a Clean Architecture implementation, based on the patterns of:
Please see sample app for usage patterns.
- SwiftUI and Combine (and other modernizations) in the sample app
- Armin Kroll (whose Redux-iOS helped inspire this implementation)
- Benjamin Encz (for evangelizing Redux and Unidirectional Data Flow for iOS)
- "Uncle Bob" Martin (for too many reasons to count)
- ... and everyone else who's been an inspiration toward Clean Code. Thanks.