7월 정식 출시 예정

지금까지 공개된 내용들을 바탕으로 어떻게 변화할지 알아보자

Compose란 무엇일까?

@Composable
fun JetpackCompose() {
	Card {
			var expanded by remember { mutableStateOf(false) }
			Column(Modifier.clickable { expanded = !expanded}) {
				Image(pinterResource(R.drawable.jetpack_compose))
				AnimatedVisibility(expanded) {
					Text(
							text = "Jetpack Compose"
							style = MaterialTheme.typography.h2
					)
				}
			}
		}
}

Native Android UI를 빌드 하기위한 최신 도구로 2019년 Google IO에서 처음 발표되었다.

Compose의 장점

코드감소

적은 수의 코드로 더 많은 작업을 하고 전체 버그 클래스를 방지할 수 있으므로 코드가 간단하며 유지 관리하기 쉽습니다.

직관적

UI만 설명하면 나머지는 Compose에서 처리합니다. 앱 상태가 변경되면 UI가 자동으로 업데이트 됩니다.

빠른 개발 과정

기존의 모든 코드와 호환되므로 언제 어디서든 원하는 대로 사용할 수 있습니다. 실시간 미리보기 및 완전한 Android 스튜디오 지원으로 빠르게 반복할 수 있습니다.

강력한 성능

Android 플랫폼 API에 직접 액세스하고 머티리얼 디자인, 어두운 테마, 애니메이션 등을 기본적으로 지원하는 멋진 앱을 만들 수 있습니다

그러나 무엇보다도 compose의 가장 큰 특징은 layout xml파일을 사용 하지 않는다는 것이다

<TextView
	android:id="@+id/textview_first"
	android:layout_width="..."
	android:layout_height="..."
	android:text="Hello, Android"
	/>
@composable
fun Greeting() {
	Text(text = "Hello, Android!")