Jetpack Compose
hasan→·Feb 20, 2026·3 min read·11
Jetpack Compose is Android’s modern, declarative UI toolkit using Kotlin to build native interfaces with less code. It utilizes a reactive model where @Composable functions transform data into UI, automatically updating (recomposing) when state changes. Core concepts include declarative UI, state management, recomposition, and modularity, replacing XML with UI-as-code.
Core Concepts
Declarative UI: Developers describe what the UI should look like for a given state, rather than managing the step-by-step modification of UI components.
Composable Functions (@Composable): The building blocks of the UI. These are simple functions that define UI components, allowing for easy reusability and encapsulation.
Recomposition: The process where Compose re-executes functions to update the UI hierarchy when underlying data or state changes. It is intelligent and only updates necessary parts.
State Management: Compose observes data (State) to trigger UI updates. Stateful composables manage their own state, while Stateless composables receive state through parameters and pass events up, improving reusability.
Modifiers: Used to modify composables, such as changing size, padding, layout behavior, or adding click listeners.
Layouts (Row, Column, Box): Standard layout containers that act like linear/frame layouts to arrange components, replacing older view groups.
Unidirectional Data Flow (UDF): A design pattern where state flows down (from parent to child) and events flow up (from child to parent), making state tracking predictable.
CompositionLocal: A mechanism to pass data down the UI tree implicitly without passing it through every single component.
Interoperability: Compose can be used alongside existing XML-based View systems, allowing for gradual migration.