notes
Android - Jet pack
Android Jetpack의 주요 라이브러리·구성요소와 앱 적용 기준 정리.
Jetpack을 “라이브러리 목록”으로만 외우면 금세 까먹는다. 나는 문제를 해결할 때 손 가는 상자로 다시 묶었다.
왜 쓰나
Support Library 시절 파편화를 AndroidX로 정리하고, 생명주기·백그라운드·네비게이션처럼 실수하기 쉬운 부분을 공식 패턴으로 고정하려고 만든 모음이다.
내가 실제로 만지는 축
Compose와의 관계
Compose도 Jetpack 식구. View 시스템을 대체하는 선언형 UI. 기존 XML 화면과 섞을 때는 AndroidView / ComposeView로 다리를 놓는다.
의존성 감각
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.x")
implementation("androidx.navigation:navigation-fragment-ktx:2.x")
implementation("androidx.room:room-runtime:2.x")
BOM이 있는 군(Compose)은 BOM으로 버전을 맞추고, 나머지는 팀에서 쓰는 카탈로그에 고정.
헷갈림
- LiveData vs Flow: 새 코드는 Flow +
lifecycleScope/repeatOnLifecycle쪽으로 기운다 - WorkManager ≠ 당장 포그라운드 서비스. “보장된 지연 작업”
- Navigation Component 없이 수동 FragmentTransaction 해도 되지만, 딥링크·백스택 규약이 힘들어짐