Jetpack Compose는 네이티브 UI를 빌드하기 위한 Android의 선언형 UI 최신 툴킷이다.
Compose는 프론트엔드 뷰를 명령형으로 변형하지 않고도 앱 UI를 렌더링 할 수 있게 하는 선언형 API를 제공하여 앱 UI를 더 쉽게 작성하고 유지관리할 수 있도록 지원한다.
프로그램이 어떤 방법으로 해야 하는지를 나타내기보다 무엇과 같은지를 설명하는 경우에 "선언형"이라고 한다.
//텍스트 뷰의 텍스트 변경
var text = binding.textView //findViewById
text.setText = "Change Text"
//chip을 생성한 뒤 뷰에 추가
val chip = Chip()
container.addChild(chip)
이렇게 뷰를 수동으로 조작하면 오류가 발생할 가능성이 커지고 업데이트가 필요한 수의 뷰가 많아질수록 소프트웨어 유지관리 복잡성이 증가한다.
fun Greeting(name : String){
Text(text="Hello $name")
}
화면 전체를 재생성하는 데 있어 한 가지 문제는 시간, 컴퓨팅 성능 및 배터리 사용량 측면에서 잠재적으로 비용이 많이 든다는 것입니다. 이 비용을 줄이기 위해 Compose는 특정 시점에 UI의 어떤 부분을 다시 그려야 하는지를 지능적으로 선택한다.