Jetpack Compose는 네이티브 Android UI를 빌드하기 위한 최신 도구 키트입니다.
Jetpack Compose는 더 적은 수의 코드, 강력한 도구, 직관적인 Kotlin API로 Android에서의 UI개발을 간소화하고 가속화합니다.
안드로이드는 기본적으로 xml의 UI들을 Class에서 세팅을 해주고 Activity에서 UI를 어떻게 컨트롤 할 지 정의합니다.
이 과정대로 코드를 작성하면 불필요한 코드량 증가와 가독성 저하를 발생시킬 수 있습니다.
다른 개발자가 내 코드를 보거나 유지보수를 할 때, xml과 class를 번갈아 보면서 선언된 뷰와 변수의 이름 등을 찾는 불편한 작업을 해야할 수도 있습니다.
위와 같은 불편함을 해결할 새로운 UI 제작 방식이 Jetpack Compose
입니다.
Compose는 Kotlin의 특징을 이용해 선언형 프로그래밍으로 UI를 만듭니다.
"Hello world!" 라는 식의 말을 하듯이 선언을 합니다.
구현 방법은 신경쓰지 않고 무엇을 만들지 먼저 명령을 내리는 방식입니다.
구현 방식을 적지 않고 만드는 명령만 적기 때문에 상대적으로 직관적입니다.
Less Code
- 코드 감소
Intuitive
- 직관적
Accelerate Devlopment
- 빠른 개발 과정
Powerful
- 강력한 성능
이 많은 장점중에 저에겐 실시간 미리보기의 기능이 가장 매력적으로 보입니다!
[File] - [New] - [New Project...]에서 새로운 프로젝트를 선택하고 Empty Compose Activity를 선택합니다.
Next를 클릭하고, Compose는 최소 API 21이상에서 사용할 수 있습니다.
모든 Jetpack 구성요소는 Google Maven 저장소에서 사용할 수 있습니다.
settings.gradle file을 열고 아래와 같이 google() 저장소를 추가합니다.
대부분 프로젝트를 생성할 때 자동으로 추가되어있습니다!
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
jcenter()
}
}
build.gradle(Module)
android {
composeOptions {
kotlinCompilerExtensionVersion compose_version
kotlinCompilerVersion '1.5.21'
}
}
buildFeatures {
compose true
}
kotlinOptions {
jvmTarget = '1.8'
useIR = true
}
dependencies {
...
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
implementation 'androidx.activity:activity-compose:1.4.0'
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
}