Adopting SwiftUI with a Bottom-Up Approach to Minimize Risk
Article Summary
DoorDash just proved SwiftUI is enterprise-ready. Their secret? Don't start with a rewrite.
DoorDash Engineering shares how they successfully adopted SwiftUI in their Consumer iOS app without disrupting their existing UIKit codebase. Their bottom-up strategy leverages VIPER architecture to manage risk while unlocking faster development.
Key Takeaways
- Start with new modules, not rewrites, to minimize regression risk
- VIPER's module isolation enables SwiftUI and UIKit to coexist peacefully
- Teams build SwiftUI expertise on low-risk features first
- Declarative UI delivers faster development and simpler testing
- No changes required to existing code when adding SwiftUI modules
Strategic, bottom-up SwiftUI adoption lets enterprise teams gain speed and testability benefits without the rewrite risk.
About This Article
DoorDash needed to bring SwiftUI into their large, existing codebase without slowing down the multiple teams working on their Consumer iOS app.
They used their VIPER architecture's module isolation to adopt SwiftUI one module at a time. New features could be built in SwiftUI while the old UIKit code stayed as it was.
This approach let DoorDash get SwiftUI's benefits in speed and testability for new modules while keeping existing features stable. They didn't need to rewrite the entire codebase to make it work.