Modern SwiftUI Architecture: Building Scalable Listing Modules
Article Summary
Sadık Çoban from Getir just dropped a masterclass on migrating a massive e-commerce listing screen to SwiftUI while supporting iOS 15. The payoff? A 4.7× performance improvement in production.
Getir's iOS team rewrote their core product browsing experience—a several-thousand-line UIKit monolith—into composable SwiftUI modules. The challenge: support iOS 15 as the minimum target while building a foundation that could adopt iOS 17+ APIs later. This deep dive covers everything from lazy loading thousands of products to syncing subcategory chips with scroll position.
Key Takeaways
- Median time-to-interactive dropped from 2.27s to 479ms across 450K production sessions
- List-based lazy loading with precomputed row layouts replaced fragile UIKit diffable data sources
- Custom anchor preference system tracks visible sections on iOS 15 without native APIs
- Swift actor handles category prefetching with request deduplication and cooperative cancellation
- Architecture allows progressive adoption of iOS 17/18 APIs without rewrites
A production-tested SwiftUI architecture that delivers 4.7× faster load times while supporting iOS 15 and providing clean upgrade paths to modern APIs.
About This Article
Getir's UIKit screens had duplicate product card layouts across multiple variants. The scroll-to-section jumps relied on fragile manual contentOffset math. Time-to-interactive was over two seconds, which hurt conversion rates on their browsing experience.
Sadık Çoban's team built reusable atomic components like ProductCardView and HorizontalProductListView with clear separation of concerns. They then composed these into a List-driven architecture with precomputed row-based layouts. This eliminated the volatility of nested LazyVGrid and made scrollTo behavior reliable on iOS 15.
Heap memory usage only increased 15% while supporting three prefetched categories at once. P90 time-to-interactive dropped from 4.77 seconds to 1.62 seconds. Older devices saw the biggest improvements, which directly benefited the iOS 15-floor user base.