iOS UI Development Best Practices
Article Summary
Valerii Che from Bumble's engineering team reveals why they ditched Storyboards entirely. Their code-first approach handles weekly feature releases without breaking existing functionality.
The Badoo/Bumble iOS team shares their battle-tested UI development practices for maintaining a massive dating app. With constant feature releases, they've optimized for code maintainability and team velocity over visual editors.
Key Takeaways
- Code-only UI beats XIBs: clearer reviews, easier merges, no XML parsing
- Layout anchors replace frame calculations and error-prone constraint strings
- Component separation enables visual testing with stub view models
- UI/logic split into separate projects accelerates parallel development
Building iOS UI in code with strict component separation and MVVM enables faster feature delivery and easier testing at scale.
About This Article
Badoo's team ran into constant merge conflicts and maintenance headaches with XIBs and Storyboards. The XML files changed every time they saved, even when nothing in the UI actually changed. This made code reviews a real pain for teams their size.
Valerii Che's team built an Observable utility class to track values and switched to NSLayoutAnchor for layouts written in code instead of using Interface Builder. This cut out the XML parsing work and made version control diffs much easier to read.
Writing UI code directly with a component-based architecture let Badoo split UI projects away from business logic. They could test visuals with stub view models and run development in parallel. This helped them ship new features every week.