Tripadvisor's iOS principal engineer, Ben Sarrazin, details the challenges faced with the MVVM-C architecture, particularly the complexities of navigation and the difficulties of debugging within a sprawling codebase. Reacting to these pain points, they adopted The Composable Architecture (TCA) to enhance integration with SwiftUI, streamline testing, and improve code composability. The migration was handled systematically, focusing on replacing isolated view models and incrementally restructuring navigation elements, ultimately leading to better documentation, reasoning, and an overall healthier codebase.
The transition to The Composable Architecture was motivated by the need to reduce complexity from the previous MVVM-C structure, improving navigation and code maintainability.
Our MVVM-C implementation... created a web of navigation possibilities that is nearly impossible to document or reason about, complicating development for our growing team.
Collection
[
|
...
]