What problem does it solve?
Los ANDROIDES developers need consistent, maintainable Jetpack Compose UI patterns that keep Compose code “dumb,” improve lifecycle-aware state handling, and reduce UI regressions across the app.
Core Features & Use Cases
- ViewModel-owned state: Ensures UI collects state with lifecycle awareness and avoids app state via remember or rememberSaveable.
- Performance-friendly lazy lists: Encourages adding stable keys to LazyColumn/Lazy* items when a unique identifier exists.
- Design-system consistency: Routes theme usage through GabiMorenoTheme and promotes reusable UI into shared modules.
- Reliable previews: Requires realistic @Preview coverage using PreviewParameterProvider for multiple states.
- Accessibility-by-default: Mandates contentDescription for interactive/informational visuals and supports semantics for custom accessibility behavior.
- MVI-aligned TextField wiring: Routes every TextField keystroke through Actions so the ViewModel updates state.
Quick Start
Apply the compose-ui conventions to your screen by collecting ViewModel state via collectAsStateWithLifecycle, rendering it in Compose without business logic, and dispatching user input through Actions.