피드로 돌아가기
Android XML vs Jetpack Compose — Which One Should You Use in 2026?
Dev.toDev.to
Mobile

Android UI 개발에서 XML에서 Jetpack Compose로의 전환이 선언적 상태 관리와 재결합 기반 렌더링으로 코드량을 크게 줄인다

Android XML vs Jetpack Compose — Which One Should You Use in 2026?

AhsanAhmed032026년 3월 30일4intermediate

Context

Android XML(View System)은 UI를 XML 파일과 Kotlin 코드로 분리 작성하는 전통적 방식이다. View 계층 구조(ViewGroup → View)에서 Measure → Layout → Draw 순서로 렌더링하며, 중첩이 깊어질수록 성능 비용이 증가한다. UI 업데이트 시 개발자가 수동으로 각 View 요소를 직접 제어해야 한다.

Technical Solution

  • AndroidView Interop을 통해 기존 XML 레이아웃을 Compose 화면에 혼합 삽입할 수 있다
  • remember, derivedStateOf 등으로 불필요한 재결합을 방지하여 성능을 최적화한다
  • mutableStateOf로 선언한 상태 변수가 변경되면 Composable 함수가 자동으로 재호출된다
  • Composable 함수를 조합하여 재사용 가능한 모듈식 UI 컴포넌트를 구축한다
  • ViewBinding 대신 Kotlin 코드 내에서 직접 UI를 선언적으로 기술한다

Impact

Jetpack Compose는 XML 대비 동일한 UI를 훨씬 적은 코드로 구현하며, 상태 변화 시 영향받는 부분만 자동 갱신된다.


새로운 Android 프로젝트에서 Button 클릭 시 텍스트 변경 UI를 Jetpack Compose로 구현 시 mutableStateOf로 상태를 정의하고 해당 상태를 Text 컴포저블에 바인딩하면 클릭 핸들러에서 직접 UI 업데이트 코드 없이도 자동 반영된다

원문 읽기