Adopting Jetpack Compose for Etsy’s Android App
Etsy adopted Jetpack Compose as its preferred means of building Android apps due to its modern toolkit for defining native UIs. The adoption process involved a gradual expansion of features built using Compose, culminating in a full rewrite of a primary screen in the app. To facilitate the adoption, Etsy engineers created a curriculum based on Compose documentation and examples, and the Design Systems team created Compose versions of internal UI toolkit components. The team also utilized Compose Previews to visualize Composables in various configurations, reducing rework and bugs. After successfully rebuilding an entire screen and exposing it to real users, Etsy adopted Compose on a larger scale in the Shop screen, which resulted in improved performance, developer satisfaction, and user analytics. The adoption of Compose has become the standard way Etsy builds features for its app, with benefits including decoupling state from the UI, isolating business logic, and easier manipulation of spacing and margins. However, the team encountered some challenges, including issues with a third-party library and unexpected behavior with LazyRows and LazyColumns. Overall, Etsy is thrilled with the progress and outcomes of adopting Compose, which has enabled the team to be more productive in delivering new features to buyers. The adoption of Compose is a tangible example of Etsy's commitment to its craft and culture of learning. The team has now fully rewritten several key UI screens using Compose, with more to come.