Implementing Scalable UI in iOS: Better, Faster Performance
Article Summary
Alexis Santos from Bumble reveals how his team transformed iOS UI development from chaotic to scalable. The secret? A custom framework that cut compilation time and eliminated code duplication.
The Bumble iOS team faced a critical problem: no standardized UI development process led to duplicated code, poor designer communication, and risky deployments. Santos details their year-long journey building BadooUIKit and a companion Gallery app to centralize all UI components, plus snapshot testing to prevent regressions.
Key Takeaways
- Created BadooUIKit framework to eliminate UI code duplication across the app
- Built internal Gallery app showcasing all components with search and multi-style preview
- Added snapshot tests using iOSSnapshotTestCase to catch visual regressions automatically
- Faster compilation in lightweight Gallery app accelerated UI development cycles
- Design system improved designer-developer collaboration and component reuse
By isolating UI components into dedicated frameworks with visual documentation and automated testing, Bumble's iOS team solved code duplication, improved designer collaboration, and shipped features faster.
About This Article
Badoo's iOS team didn't have clear patterns for building UI, so designers kept recreating the same components. Making changes across the app became risky because updates could break things in unexpected places.
Alexis Santos' team built Platform_UIKit and BadooUIKit frameworks that kept UI code separate from everything else. This made components actually reusable and cut down how long the project took to compile.
The snapshot test repository grew to about 11MB of test images. It caught visual regressions automatically while focusing on the devices most users actually had.