Android Jetpack Compose

Standards for Declarative UI, State Hoisting, and Performance

majiayu000 32674c2 2 files · 1.8 KB Updated 567 repo stars

File contents

Jetpack Compose Standards

Priority: P0

Implementation Guidelines

State Hoisting

  • Pattern: Screen (Stateful) -> Content (Stateless).
  • Events: Pass lambda callbacks down (onItemClick: (Id) -> Unit).
  • Dependencies: NEVER pass ViewModel to stateless composables.

Performance

  • Recomposition: Use @Stable / @Immutable on UI Models.
  • Lists: Always use key in LazyColumn / LazyRow.
  • Modifiers: Reuse Modifier instances or extract to variables if stable.

Theming (Material 3)

  • Tokens: Use MaterialTheme.colorScheme and MaterialTheme.typography.
  • Hardcoding: **No Hardcoded Colors**: Use Theme.

Anti-Patterns

  • Side Effects: **No SideEffects in Composition**: Use LaunchedEffect.
  • ViewModel pass-through: **No VM deep pass**: Hoist state.

References

  • Patterns & Optimization

majiayu000/claude-skill-registry-data/tree/main/data/compose-hoangnguyen0403-agent-skills-standar commit 32674c269f

Frequently asked questions

npx skillmds add majiayu000/android-jetpack-compose-2