Jetpack Compose internals ๐Ÿ“–

Do you wonder how Jetpack Compose works internally, or how the compiler or the runtime work together? Are you curious about other use cases for Compose? Did you ever think about how Composable functions communicate with the compiler and the runtime?

Itโ€™s your lucky day ๐Ÿ™Œ Jetpack Compose internals is your chance to go one step further and learn the guts of what will become the new standard of Android UI.

My portrait pic

Support me by buying the book ๐Ÿš€

By buying the book you are not only rewarding the countless ours of effort invested, but also boosting my motivation to keep working on it ๐Ÿ™

BUY THE BOOK ๐Ÿš€ SINGLE PAYMENT FROM - ๏นฉ39.99 ๐Ÿคฉ

The content

The book covers following topics among many others.

  • Composable functions in depth. What they represent and their properties.
  • Annotations provided by the Compose runtime and their detailed purpose.
  • Static analysis performed by the Compose compiler. Frontend compiler checks in place to help while we write code.
  • Compiler IR code generation.
  • Runtime optimizations and how they are unlocked by the Compose compiler.
  • Architecture of the Compose compiler.
  • Architecture of the Compose runtime.
  • The slot table and the list of changes. The in-memory representation of the Composable call graph. How and when the runtime stores the relevant data from the Composition.
  • Composition and Recomposition. How the Composition is created and how it is updated via Recomposition.
  • Recomposition scopes.
  • How the runtime materializes the node tree via the Applier.
  • Compose UI. How the code we write communicates with the compiler and the runtime. Emitting nodes into the Composition. Adding, moving, replacing, and deleting nodes from the tree.
  • The State snapshot system, change propagation and smart recomposition.
  • Effects and effect handlers. How they are stored in-memory and when they are triggered. Their lifecycle.
  • The Composable lifecycle. How it relates to the Android components lifecycle.
  • Advanced Compose use cases. Generic node types. Examples of diverse use cases for the Compose compiler and the runtime.
  • Multiplatform support.
  • Much more ๐Ÿš€

The authors and the project

This book is being written by me (Jorge Castillo) and Andrei Shikov.

I started writing this book around a year ago, and it helped me to escape a bit from the events happening around and focus on something interesting. It started as a series of posts and suddenly became a book. It is a chance to challenge myself and learn more about a new technology. A great consequence is to be able to share all the gathered knowledge with others ๐Ÿฅณ

To write this book we explored the Jetpack Compose sources via cs.android.com and sources included in Android Studio. We also had to built our own side projects.

This book aims to gather all the relevant knowledge about Jetpack Compose internals so it works as a reference for the years to come. Jetpack Compose is the future of Android UI, but it will also gain relevance in other platforms given its multiplatform nature.

Support me by buying the book ๐Ÿš€

By buying the book you are not only rewarding the countless ours of effort invested, but also boosting my motivation to keep working on it ๐Ÿ™

BUY THE BOOK ๐Ÿš€ SINGLE PAYMENT FROM - ๏นฉ39.99 ๐Ÿคฉ


My portrait pic

Manuel Vivo

โ€œCertainly one of the best resources to learn about the internals of Jetpack Compose. The details in which everything is explained in the book are mind-blowing. 100% recommended for any developer interested in what Jetpack Compose does under the hood. Disclaimer: it does a lot!โ€

My portrait pic

Joe Birch

โ€œBeing clearly explained and easily consumable, Jorgeโ€™s Jetpack Compose content has been a great learning resource. Iโ€™m really looking forward to picking up this book and soaking up all of the knowledge around these Compose topics!โ€

My portrait pic

Antonio Leiva

โ€œJorge is able to explain hard concepts in the simplest possible way. This book is another proof of his teaching abilities.โ€

My portrait pic

Enrique Lรณpez-Maรฑas

โ€œJorge has done an astonishing job at presenting Compose and its internal to the masses. I can absolutely endorse his book for any developer interested in the peculiarities of Compose and eager to learn more about it.โ€

My portrait pic

Andrei Shikov

โ€œJorge did an amazing job explaining how Compose works in smallest detail, and thereโ€™s so much more to it than only displaying UI. I thoroughly enjoyed hacking different things based on it, and I hope you will too!โ€

My portrait pic

Jorge Castillo

โ€œThis book is one of the hardest challenges Iโ€™ve faced as a developer. Iโ€™ve put all my love and effort on creating a consciously crafted piece of knowledge.โ€

Support me by buying the book ๐Ÿš€

By buying the book you are not only rewarding the countless ours of effort invested, but also boosting my motivation to keep working on it ๐Ÿ™

BUY THE BOOK ๐Ÿš€ SINGLE PAYMENT FROM - ๏นฉ39.99 ๐Ÿคฉ