Airbnb Eli Hart Apr 11, 2024

Introducing Trio | Part III

Article Summary

Airbnb just shipped 230+ production screens with their new Compose architecture. Here's how they solved the hardest problem: making screens talk to each other.

This is Part III of Airbnb's deep dive into Trio, their Jetpack Compose framework built on Mavericks. The Android Platform team explains how Props enable type-safe, compile-time-correct communication between ViewModels while handling the nightmare of process death.

Key Takeaways

Critical Insight

Airbnb's Trio framework achieved organic adoption across 230+ screens by making inter-screen communication both powerful and foolproof through Props and custom tooling.

The article reveals how their IDE plugin makes changing a screen's contract across dozens of files nearly instant (and why that matters more than you'd think).

About This Article

Problem

Airbnb engineers had to manually update files across the codebase whenever they changed a Trio's Args or Props types, since these values appeared in many different places.

Solution

Eli Hart's team built an IDE plugin that automatically refactors Args and Props type changes wherever they're used in the codebase. They used Compose Multiplatform to build the plugin's UI.

Impact

The tool made this workflow much faster and less tedious. Developers spent less time on routine refactoring work, which improved how smoothly the Trio development process ran at scale.