State of Compose 2023

Results from a community survey asking 166 Compose developers about their API awareness, libraries, tooling, usage, learning resources, and pain points.

The original survey was inspired by State of JS and ran in late 2023. This archive keeps the aggregate results and summarized findings without publishing raw respondent data.

participants 166
professional use 126
happy or very happy 130
100% Compose apps 90

API Awareness

Compose APIs

Foundational state and effect APIs were familiar to most respondents, while the less common saver and production APIs had a much wider awareness gap.

State APIs

Side effects

State management pain points

  • Deep state hoisting made screen code hard to keep small and coherent.
  • Developers struggled with bloated state containers and one-shot events like toasts and navigation.
  • Recomposition behavior was still difficult to reason about in complex screens.
  • Teams wanted better debugging, dependency visualization, and guidance for multiplatform state.

Side effect pain points

  • Choosing the right effect for a given job was a recurring source of confusion.
  • Timing problems around `LaunchedEffect`, shared flows, and lifecycle-style work came up often.
  • Respondents wanted clearer documentation and examples beyond simple cases.

Libraries

Ecosystem Awareness

Material and Coil were dominant, while navigation and testing showed a more fragmented ecosystem with meaningful dissatisfaction around official and third-party choices.

Navigation

Testing

Image loading

Component libraries

Navigation pain points

  • Type safety, argument passing, bottom sheets, and nested graphs were common friction points.
  • Many teams wanted flexibility without committing to a heavy third-party navigation framework.
  • Large apps struggled with multi-module setup, deep links, and multiplatform navigation strategy.

Animation pain points

  • Respondents mentioned dropped frames, complex sequencing, and unclear API selection.
  • AnimatedContent and animateContentSize caused confusion when moving beyond simple examples.
  • There was demand for better shared element transitions, font animation, and motion guidance.

Usage

How Compose Was Used

Most respondents used Compose professionally, primarily for Android apps, with a strong skew toward stable releases and recent Compose UI versions.

Migration level

Targets

Compose UI version

Release channel

Primary context

Current sentiment

What respondents felt was missing

  • A stronger official navigation story, especially for complex and multiplatform apps.
  • Performance guidance, better debugging tools, and clearer stability/immutability education.
  • Richer text editing, shared element transitions, drag and drop, and more complete component coverage.
  • Better docs, updated codelabs, stronger preview tooling, and clearer migration guidance.

Resources

Learning And Community

Official docs, self-directed learning, Google codelabs, videos, and newsletters were the most common learning channels.

Learning resources

Newsletters and blogs

Where people heard about it

Demographics

Who Answered

The respondent pool skewed experienced, professional, and Android focused. The charts below are included for context, not as a claim that the whole Compose ecosystem has the same distribution.

Experience

Company size

Age

Top countries