Daily iOS
Architecture

Large SwiftUI app structure

If you were designing a SwiftUI app from scratch with dozens of screens and several teams working on it, how would you set up state management, navigation, dependency injection, and module boundaries?

How would an interviewer hear this answer? You'll see whether they'd move on, dig in, or say no, and which sentences would trip you up. Your score doesn't change.
See the short answer

Boundaries where Feature modules talk only through Interface contracts, screen state in @Observable ViewModels, app-wide state in a few Environment objects, navigation through a router that owns the NavigationPath (a Route enum per module), and DI created at the Composition Root and injected through Environment or init.

Share a question