A Hitchhiker's Guide to Compose Compiler: Composers, Compiler Plugins, and Snapshots

Jossi Wolf & Amanda Hinchman-Dominguez

Android Developer & Android Engineer

Snapp Mobile & Groupon

If you are an Android Developer, chances are you are pretty excited about Jetpack Compose! But how does it work? In this talk, we will take you along the journey of a Composable function, from being written, going through the unknown lands of the Kotlin and Compose compilers to being executed and displaying UI!

From Composables all the way down into the compiler plugins, we expose the metaprogramming responsible for all the "magic". Whether your interest is Jetpack Compose, compilers, or code transformations, this talk takes an otherwise complicated topic and makes it digestible for everybody by diving into specific features offered by Compose.

By examining Compose's snapshot system, you'll follow the compiler phases down to intercepting code transformations with IR. By recognizing the patterns that make it hard for Compose to generate efficient code, and this can help us to recognize patterns to use for performance.

Jossi is an Android Developer at Snapp Mobile. Jossi graduated high school in 2018 and has been working on many projects, including software for startups as well as car manufacturers. As a GDG Organiser and part of Women Tech Makers Hamburg, he is working on a project bringing coding classes to schools using several new approaches. Jossi also loves Kotlin and Rabbits!

Amanda Hinchman-Dominguez is an Android Engineer specializing in Android and Kotlin. Currently, her primary focus is research on Kotlin meta-programming and maintaining the Arrow open-source library. As an active participant in the Kotlin community, Amanda organizes the Chicago KUG, writes tech blogs, and contributes to a variety of OSS projects. In her spare time, she practices hot yoga and enjoys hanging out with her three parakeets.