Badoo Valerii Che Aug 1, 2018

iOS UI Development in Badoo

Article Summary

Valerii Che from Badoo's iOS team reveals why they ditched Storyboards and XIBs entirely. Their code-first approach handles weekly feature releases without breaking existing functionality.

Badoo (now part of Bumble) processes millions of connections daily, requiring rock-solid UI architecture. This article breaks down four specific techniques their iOS team uses to maintain velocity while keeping the codebase clean and testable.

Key Takeaways

Critical Insight

Separating UI components from business logic lets Badoo ship features faster while maintaining full visual test coverage.

The article includes a complete sample project showing how their three-domain architecture (Components, Demo, Real App) works in practice.

About This Article

Problem

Badoo's iOS team had a real problem with Storyboard and XIB files. Every time someone saved changes, the XML content would shift around, even if nothing about the UI actually changed. This made it nearly impossible to review code properly.

Solution

Valerii Che's team switched to building UI in code instead. They used NSLayoutAnchor for layouts and ditched the XML files entirely. This made Git diffs much easier to read during team development.

Impact

The switch cut down on merge conflicts and sped up code reviews. The team could now see exactly what changed in the UI, line by line, which helped them ship features faster each week.