Selection Is Not Navigation in Jetpack Compose
Published on 07 May 2026Learn how to model list selection in Jetpack Compose without mixing UI state, domain identity, and navigation decisions.
Practical software architecture and design for iOS engineers.
Articles about composition, boundaries, naming, testing, and keeping codebases easy to change.
Start here for the principles behind maintainable architecture.
How to add behavior by wiring focused pieces together.
Modern SwiftUI boundaries, ownership, and dependency wiring.
Navigation and composition for UIKit apps.
How to organize, test, and improve architecture as codebases grow.
Learn how to model list selection in Jetpack Compose without mixing UI state, domain identity, and navigation decisions.
Learn how to model list selection in SwiftUI without leaking navigation, domain identity, or behavior into the wrong place.
Learn unidirectional data flow in Jetpack Compose with UI state, user intents, use case outputs, and navigation events.
Learn how to keep Jetpack Compose ViewModels focused on UI state, screen events, and presentation mapping.
Learn why Dagger and Hilt wire Android dependencies but do not automatically create healthy dependency direction.
Learn unidirectional data flow in SwiftUI with view intents, use case outputs, ViewModel state, and flow-owned navigation.