Jetpack Compose
Jetpack Compose는 Android를 위한 현대적인 선언형 UI 도구 키트입니다.
Compose는 뷰를 명령형으로 변형하지 않고도 앱 UI를 렌더링할 수 있게 하는 선언형 API를 제공하여 앱 UI를 더 쉽게 작성하고 유지관리할 수 있도록 지원합니다.
XML vs Compose
XML은 구조적 언어로서 UI가 복잡해질수록 그에 따른 코드도 복잡해지는 문제가 있습니다.
이로 인해 발생하는 중복 코드, 유지보수의 어려움 등의 문제점이 생길 수 있습니다.
<!-- XML 기반 UI 구성 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, XML!" />
반면, Compose에서는 코틀린으로 직접 UI를 작성하여 이러한 문제점을 해결할 수 있습니다.
이는 UI와 데이터를 보다 직접적으로 연결하여 효율적인 UI 개발을 가능하게 합니다.
// Jetpack Compose 기반 UI 구성
@Composable
fun Greeting() {
Text("Hello, Compose!")
}
Compose의 장점
1. 선언형 UI 및 동적 UI
Compose에서는 UI의 상태를 선언하고, UI의 상태가 변경되었을 때 UI를 동적으로 업데이트합니다.
이는 데이터와 UI가 동기화를 유지하며, UI가 최신 상태를 항상 반영하도록 합니다.
2. 간단하고 직관적인 코드
Compose는 순수 코틀린으로만 작성하기 때문에 보다 간결하고 읽기 쉬운 코드를 작성할 수 있습니다.
또한, 코틀린 코드 내에서 모든 로직이 작성되어 있기 때문에 기존처럼 여러 파일을 오가며 작업할 필요가 없어 생산성 향상도 기대할 수 있습니다.
3. 모듈화와 재사용성
Compose에서는 Composable 함수를 통해 재사용 가능한 구성요소를 만들 수 있습니다.
이는 UI 구성요소를 작은 단위로 나누고 재사용함으로써 코드의 재사용성을 높이고, 유지보수를 용이하게 합니다.
4. 테스트 용이성
Compose에서는 UI 테스트를 쉽게 만들 수 있어 각 UI 구성요소를 독립적으로 테스트할 수 있습니다.
이는 테스트의 복잡성을 줄이고 코드의 안정성을 높입니다.
'안드로이드 > Compose' 카테고리의 다른 글
[Android] Compose 컴포넌트 - Image (0) | 2024.05.13 |
---|---|
[Android] Compose 컴포넌트 - Material Design (0) | 2024.05.11 |
[Android] Compose 컴포넌트 - Text와 TextField (0) | 2024.05.10 |
[Android] Compose - Layout (0) | 2024.05.09 |
[Android] Compose - Modifier와 Surface (0) | 2024.05.08 |