Badoo Alexis Santos

How Badoo Implements Scalable UI in iOS: Better, Faster Performance

Original post 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.

Continue reading

What This Article Covers

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.

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.

This page summarizes “Implementing Scalable UI in iOS: Better, Faster Performance” by Badoo, published Sep 4, 2018. All credit for the original work goes to the authors.

Read the original on badootech.badoo.com (opens in new tab)

AI tools for iOS

Browse all AI tools →