Eli is a Software Engineer at Airbnb, where he works on the Android Platform team. He’s been heavily involved in Airbnb’s open source projects, including the Epoxy and Mavericks libraries.
Trio: Compose Architecture with Mavericks
10:20 > 40 min
At Airbnb, we have developed a framework for Jetpack Compose screen architecture, which we call Trio. Trio is built on our open-source library, Mavericks, and it uniquely maintains navigation state within the ViewModel, co-locating navigation and business logic.
Trio has been refined over the past two years and has been in use in production for over a year, now powering more than 150 screens.
In this talk, we will discuss the challenges of Compose-based architecture and how Trio has addressed these issues. We will explore:
* Type-safe navigation between feature modules
* Storing navigation state in a ViewModel
* Communication between Compose-based screens, including opening screens for results and two-way communication between screens
* Compile-time validation of navigation and communication interfaces
* Testing screens with automated screenshot and interaction tests
* Developer tools created to support Trio workflows
Join us as we share our experience with Trio and demonstrate how it has improved the Android development process at Airbnb.