Yubo Apr 1, 2025

Android Migration: From XML to Jetpack Compose - Part 1

Article Summary

Gary Dameme from Yubo shares how they're migrating a nearly 10-year-old Android app from XML to Jetpack Compose. Spoiler: it's not just about swapping UI frameworks.

Yubo, a social connection app serving millions of monthly users, needed to move faster on feature development. Their aging XML-based architecture was slowing them down, so they embarked on a full migration to Jetpack Compose while simultaneously overhauling their entire UI architecture.

Key Takeaways

Critical Insight

Yubo treated their Compose migration as an architecture overhaul, not just a UI refresh, establishing patterns that would scale across their entire 10-year-old codebase.

Part 2 promises to reveal the unexpected challenges they hit once the first screen went live.

About This Article

Problem

Yubo's Android app had been around for nearly 10 years and was built on XML. Different developers had implemented MVP and MVVM patterns inconsistently, making the codebase hard to maintain and difficult to scale as the team wanted to ship features faster.

Solution

Gary Dameme's team standardized on MVVM architecture using StateFlow and sealed interfaces for UiState, UiEvent, Action, and NavigationAction. This gave every screen a consistent code structure during the Compose migration.

Impact

The team built reusable components early, including labels, buttons, user cells, and toolbars. This let them move faster on their first Compose screen, the friends list. They now have a foundation to migrate the rest of the app without disrupting millions of monthly users.

Recent from Yubo

Related Articles