Jetpack Compose UI 앱 개발 도구 키트 - Android 개발자 | Android Developers

구글문서

배민앱의 Jetpack Compose 사용예시

아키텍쳐


SetContent 로 컴포즈 UI 를 그리는 과정

단방향 데이터 흐름

상태 끌어올리기 (State Hoisting)

Compose 에서 ViewModel 유지하기

최적화


도넛홀 건너뛰기 최적화

리컴포지션 최적화

컴포져블 테스트

재구성 (Recompostion) 추적하기

Stability 를 이용한 Compose 최적화

상태관리


상태(State) 관리

재구성 (Recomposition)

State 생성

movableContent (Compose 콜백 remember)

derivedStateOf (여러 State 변경감지 merge)

RxJava, Flow, LiveData → State 변환

전역 상태변수


CompositionLocal

Compose Context

Compose 에서 Activity 가져오기

비동기 UI 처리


Side-Effect (컴포즈 외부상태변경)

LaunchedEffect

DisposableEffect

SideEffect 블럭

effect 재시작 가이드라인

rememberCoroutineScope

rememberUpdatedState

@Stable , @Immutable

Flow


Compose 에서 Flow 사용하기

snapshotFlow

Flow를 Lifecycle과 연동

수명주기


Compose Lifecycle

UI 컴포넌트


Foundation

Material

이미지


이미지 처리

스타일링


Modifier

Slot API

아이템 정렬하기

ConstraintLayout

Custom Layout

시스템 표시줄 색상 변경

애니메이션


애니메이션

Pager

스켈레톤 애니메이션 적용하기

이벤트 제어


백버튼 제어

키보드 제어

멀티플 백스택

테스트


Preview

Compsable, Preview

XML 레이아웃과 결합


XML 레이아웃에 Compose 추가

Compose에 XML 레이아웃 추가

WebView


Compose Webview