Badoo Alexis Santos Sep 4, 2018

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

Critical Insight

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.

The article reveals how their Gallery app became an unexpected bridge between designers and developers, plus the pragmatic testing strategy they chose over exhaustive device coverage.

About This Article

Problem

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.

Solution

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.

Impact

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.