A Crash Course of The Composable Architecture
summary
Live-coding builds a working Pomodoro app using The Composable Architecture (TCA): State/Action/Reducer/Store, ViewStore bindings, and ReducerBuilder. Side effects run with async run blocks, a cancelable effect with ID stops the timer, and time is tested with a TestClock-controlled time advancement injected via the dependency system. Tests use TestStore, mockable UUID and Date generators, and assert exact state transitions for individual ticks; child screens use IdentifiedArray for child features and PresentationAction wiring.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 0:48What is TCA?
- 3:34Live demo setup
- 6:25Modeling actions and state
- 8:11Connecting view to store
- 9:14Handling text input
- 11:06Disabling UI controls
- 11:27Writing tests
- 12:52Adding timer logic
- 14:58Canceling effects
- 16:01Testing async effects
- 18:15Fixing timer duration
- 19:18Testing timer completion
- 22:47Storing timer items
- 23:50Testing list updates
- 24:53Mocking dependencies
- 25:57Adding list view
- 26:59Child feature communication
- 29:50Scoping and presentation
- 31:36Sheet integration
- 32:43Handling child actions
- 33:27Summary and resources
related talks
40mTCA: Path towards Building Better SwiftUI Apps
35mWhy "The Composable Architecture" Matters for iOS App Development
31mModern Compose Architecture with Circuit
38mEssential concepts to know when learning Declarative UI
28mOh Composable World!
36mCoupling Compose- Interoperability in a Legacy Codebase
56mStately and Composed
58mFrom Zero to Live with Functional JavaScript Applications (Part 2)
