Showkase: Automated UI Infrastructure in Jetpack Compose using KSP
May 04, 2023
44 min
Free
kotlin
ui-infrastructure
component-browser
jetpack-compose
ksp
annotation-processing
android
declarative-ui
code-generation
screenshot-testing
paparazzi
android-studio
Description
This talk explores how Airbnb built and open-sourced Showkase, an annotation-processor-based Android library that leverages Kotlin Symbol Processing (KSP) to organize, discover, and visualize Jetpack Compose UI elements. It addresses challenges like component discoverability and the manual maintenance of design system browsers. The presentation delves into Showkase's internals, how it processes annotations to generate metadata, and its integration with tools like Paparazzi for automated screenshot testing. The talk also touches upon extending Showkase to support styles, colors, and typography.