5_미래

topics 500-모바일개발 502 Android
types 이론
tags #android #compose #modern
references developer.android.com/jetpack/compose developer.android.com/modern-android-...

Android 개발의 미래

Android 개발의 현대적인 방향성을 정리한다.

Jetpack Compose

기존 XML 기반 UI에서 선언형 UI로 전환하는 흐름이다.

XML vs Compose

구분 XML Compose
방식 명령형 선언형
언어 XML + Kotlin Kotlin only
상태 관리 수동 자동 리컴포지션
프리뷰 제한적 실시간

Compose 예시

@Composable
fun Greeting(name: String) {
    Text(text = "Hello, $name!")
}

@Composable
fun UserCard(user: User) {
    Column(
        modifier = Modifier
            .padding(16.dp)
            .fillMaxWidth()
    ) {
        Text(
            text = user.name,
            style = MaterialTheme.typography.h6
        )
        Text(
            text = user.email,
            style = MaterialTheme.typography.body2
        )
    }
}

왜 Compose를 쓰냐면: Flutter처럼 선언형 UI라 코드가 직관적이다. XML과 Kotlin을 왔다갔다할 필요가 없다.

Modern Android Development (MAD)

Google이 권장하는 현대적인 Android 개발 방식이다.

구분 권장 기술
UI Jetpack Compose
아키텍처 MVVM + Clean Architecture
비동기 Kotlin Coroutines + Flow
DI Hilt
네트워킹 Retrofit + OkHttp
로컬 DB Room

Flutter와 비교

구분 Native Android Flutter
언어 Kotlin Dart
UI 프레임워크 Compose Flutter Widget
크로스 플랫폼 Android only iOS + Android + Web
성능 최상 좋음
학습 곡선 높음 중간

언제 Native를 쓰냐면: 플랫폼 특화 기능(카메라, 센서, 백그라운드)이 많거나, 최상의 성능이 필요할 때. 그 외에는 Flutter도 좋은 선택이다.

관련 문서