Android/Study

[Android] ComposeUi 도입기

Tenacity_Dev 2024. 2. 28. 20:11
728x90
지난 프로젝트에 대한 회상 겸 정리할 겸 작성을 해보았다. (물론 너무 오랜 시간이 지나긴했지만...)

 

우리가 ComposeUi를 도입한 이유

  1. 선언형 프로그래밍:
    • Compose는 선언적인 구문을 사용하므로 UI의 현재 상태를 더 직관적으로 표현할 수 있습니다. XML의 경우 계층적인 구조를 가지기 때문에 UI 구조를 이해하기 어려울 수 있지만, Compose는 코드의 순서대로 UI를 정의하여 가독성을 높입니다.
  2. 간편한 실시간 미리보기:
    • Compose는 실시간 미리 보기(Real-time Preview)를 제공하여 UI 변경 사항을 즉시 확인할 수 있습니다. 이는 빠른 반복 및 디자인 작업을 도와줍니다. (XML또한 볼 수는 있지만....)
  3. 상태 관리의 편의성:
    • Compose는 내부적으로 상태를 자동으로 추적하고 업데이트하므로 개발자가 상태 관리를 수동으로 처리할 필요가 없습니다. 이는 코드의 간결성을 높이고 버그를 줄여줍니다.
  4. 재사용 가능한 컴포저블:
    • Compose에서는 UI를 작은 조각인 컴포저블(Composable)로 나눌 수 있습니다. 이러한 컴포저블은 독립적으로 재사용 가능하며, 필요에 따라 조합하여 복잡한 UI를 만들 수 있습니다.
  5. 풍부한 기능 세트:
    • Compose는 풍부한 기능 세트를 제공하며, 동적인 UI를 쉽게 다룰 수 있습니다. 상태 관리, 애니메이션, 터치 처리 등을 편리하게 다룰 수 있습니다.
  6. 타입 안정성:
    • Kotlin 언어와의 통합으로 타입 안정성이 높아졌습니다. 이는 개발자가 더 안전하게 코드를 작성하고 오류를 더 쉽게 찾을 수 있도록 도와줍니다.

 

@Composable
private fun DeletedComment() {
    Text(
        modifier = Modifier
            .fillMaxWidth()
            .padding(20.dp),
        text = stringResource(R.string.deleted_comment),
        style = MaterialTheme.typography.bodyMedium.copy(
            color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.5f)
        )
    )
}

 

위 코드는 실제 프로젝트에서 사용했던 삭제 버튼 컴포넌트이다. 위 와 같이 ComposeUi를 사용하여 계속해서 재활용을 할 수 있다.

더욱 자세한 ComposeUi의 대한 사용성은 추후 블로그를 통해서 작성하겠다.

 

728x90