-
Compose 학습 이정표안드로이드 학습/Compose 2025. 3. 16. 18:29
1. 기본 개념 익히기
⏳ 목표: Compose의 핵심 개념과 기초 문법 이해
✅ Jetpack Compose 소개 및 설치
- 공식 문서(🔗Jetpack Compose Basics) 참고
- 프로젝트 설정 및 compose.compiler, compose.ui 등 의존성 추가
✅ 기본 UI 구성 요소 학습
- Text, Button, Image, Row, Column, Box 등
- 학습 (O)
- 복습
- Modifier를 활용한 스타일링 (padding, background, clickable 등)
✅ 컴포저블(Composable) 함수 개념 이해
- @Composable 함수
- remember, mutableStateOf로 상태(State) 다루기
- LaunchedEffect, rememberUpdatedState 등 Side Effect 다루기
2. 레이아웃과 UI 디자인
⏳ 목표: 복잡한 UI를 Compose로 구성
✅ Slot API 및 UI 구조화
- Scaffold: TopAppBar, BottomNavigation, FAB 활용
- LazyColumn, LazyRow: RecyclerView 대체
✅ 애니메이션 추가하기
- animate*AsState, AnimatedVisibility, Crossfade 활용
✅ 다크 모드 및 테마 설정
- MaterialTheme 및 ColorScheme, Typography, Shape 설정
- DynamicColor 적용
3. 상태 관리 및 아키텍처
⏳ 목표: Compose에서의 상태(State) 관리 및 MVVM 적용
✅ Compose에서의 상태(State) 흐름
- remember, rememberSaveable, produceState
- ViewModel과 Compose 연동 (viewModel())
✅ MVVM 패턴 적용
- ViewModel에서 StateFlow, LiveData 사용
- collectAsState() 활용하여 UI 업데이트
✅ Navigation 적용 (멀티스크린 앱 만들기)
- compose-navigation을 이용한 화면 전환
- NavHost, NavController, navGraph 설정
4. 네트워크 및 데이터 연동
⏳ 목표: Retrofit + Room을 활용한 실전 앱 개발
✅ Retrofit을 이용한 API 연동
- suspend fun을 활용한 네트워크 요청
- produceState 및 viewModelScope.launch 활용
✅ Room을 이용한 로컬 데이터베이스
- @Entity, @Dao, @Database 설정
- remember { mutableStateOf("") } + Room 연동
5. 실전 프로젝트 및 테스트
⏳ 목표: Compose 기반의 실제 앱 개발 및 테스트 적용
✅ 실전 프로젝트 진행
- CRUD 기능을 가진 Todo 앱 만들기
- Retrofit + Room + ViewModel + Compose를 활용한 앱 개발
✅ UI 테스트 및 Espresso, Compose UI Test 적용
- composeTestRule을 활용한 UI 테스트
- Espresso와 함께 사용하여 전체 UI 테스트
✅ 앱 최적화 및 성능 개선
- remember 활용 최적화
- SnapshotFlow로 효율적인 상태 감지
6. 최신 기술 학습 및 고급 기능
⏳ 목표: 최신 Compose 기술 적용 및 성능 최적화
✅ Compose for Wear OS / TV / Desktop 학습
- Wear OS Compose / Jetpack Compose for Desktop 학습
✅ Compose Multiplatform 학습 (KMP 적용)
- Kotlin Multiplatform과 함께 Compose 사용
✅ Performance 튜닝 및 Compose Internals 이해
- Layout Inspector를 활용한 성능 분석
- Modifier의 재구성 원리 분석
추천 학습 자료
📖 공식 문서:
🎥 유튜브 강의:
✍ 깃허브 예제 프로젝트:
'안드로이드 학습 > Compose' 카테고리의 다른 글
3. Compose 함수 및 상태에 대한 이해 (0) 2025.03.26 2. Compose Modifier를 활용한 스타일링 (padding, background 등등) (0) 2025.03.18 1. Compose 기본 UI - Text, TextField, Image, Row, Column, Box (0) 2025.03.18 Compose 학습 - 1 : 기초 (0) 2025.02.05 안드로이드 Coroutine Flow - 3 (StateFlow) 코드 (0) 2024.12.02