개발일기

안드로이드 Compose vs 기존 XML UI 비교

뱅우 2025. 8. 28. 10:42
반응형
안드로이드 Compose vs 기존 XML UI 비교

안드로이드 Compose vs 기존 XML UI 비교

안드로이드 앱 개발에서 UI 작성 방식은 크게 두 가지로 나눌 수 있습니다. 바로 기존의 XML 기반 UI와 새로운 Jetpack Compose입니다. 이번 글에서는 두 방식의 차이점과 장단점을 정리해 보겠습니다.

1. XML 기반 UI

오랫동안 안드로이드 개발에서 사용된 전통적인 방식입니다. UI를 .xml 레이아웃 파일에 정의하고, Activity나 Fragment에서 이를 연결하여 사용합니다.

예제

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tvTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello XML" />

</LinearLayout>

장점

  • 안드로이드 개발자들에게 익숙한 방식
  • 풍부한 자료와 예제 존재
  • 기존 프로젝트에서 쉽게 적용 가능

단점

  • UI와 로직이 분리되어 있어 복잡한 경우 관리 어려움
  • View Binding, Data Binding 등 추가 학습 필요
  • 동적인 UI 구성에 한계

2. Jetpack Compose

선언형 UI 방식으로, Kotlin 코드만으로 UI를 작성할 수 있는 최신 프레임워크입니다. React, SwiftUI와 유사한 개념을 도입했습니다.

예제

@Composable
fun Greeting() {
    Text(text = "Hello Compose")
}

장점

  • XML 없이 Kotlin 코드만으로 UI 작성 가능
  • State 기반으로 UI 갱신이 쉬움
  • 테스트 및 미리보기 기능 지원
  • 복잡한 UI를 간결하게 표현 가능

단점

  • 아직 일부 기능/라이브러리 지원 미비
  • 기존 XML 프로젝트와의 혼합 사용 시 학습 비용 발생
  • 성능 최적화에 대한 고려 필요

3. 어떤 방식을 선택해야 할까?

결론적으로, 새로운 프로젝트라면 Compose를 사용하는 것이 효율적입니다. 하지만 기존 XML 기반 프로젝트라면 점진적으로 Compose를 도입하는 전략이 안정적입니다.

  • 단기 유지보수 & 기존 프로젝트 → XML 유지
  • 장기 프로젝트 & 신규 개발 → Compose 적극 활용

4. 정리

안드로이드 Compose는 개발 생산성코드 간결성 면에서 XML보다 우위에 있습니다. 다만, 모든 프로젝트에 당장 적용하기보다는 상황에 맞게 선택하는 것이 중요합니다.


마무리: 안드로이드 UI 개발의 미래는 Compose에 있다고 해도 과언이 아닙니다. 앞으로는 XML보다 Compose 중심의 생태계가 더 확대될 것이므로, 미리 학습하고 준비하는 것을 추천합니다.

반응형