728x90
지난 프로젝트에 대한 회상 겸 정리할 겸 작성을 해보았다. (물론 너무 오랜 시간이 지나긴했지만...)
우리가 ComposeUi를 도입한 이유
- 선언형 프로그래밍:
- Compose는 선언적인 구문을 사용하므로 UI의 현재 상태를 더 직관적으로 표현할 수 있습니다. XML의 경우 계층적인 구조를 가지기 때문에 UI 구조를 이해하기 어려울 수 있지만, Compose는 코드의 순서대로 UI를 정의하여 가독성을 높입니다.
- 간편한 실시간 미리보기:
- Compose는 실시간 미리 보기(Real-time Preview)를 제공하여 UI 변경 사항을 즉시 확인할 수 있습니다. 이는 빠른 반복 및 디자인 작업을 도와줍니다. (XML또한 볼 수는 있지만....)
- 상태 관리의 편의성:
- Compose는 내부적으로 상태를 자동으로 추적하고 업데이트하므로 개발자가 상태 관리를 수동으로 처리할 필요가 없습니다. 이는 코드의 간결성을 높이고 버그를 줄여줍니다.
- 재사용 가능한 컴포저블:
- Compose에서는 UI를 작은 조각인 컴포저블(Composable)로 나눌 수 있습니다. 이러한 컴포저블은 독립적으로 재사용 가능하며, 필요에 따라 조합하여 복잡한 UI를 만들 수 있습니다.
- 풍부한 기능 세트:
- Compose는 풍부한 기능 세트를 제공하며, 동적인 UI를 쉽게 다룰 수 있습니다. 상태 관리, 애니메이션, 터치 처리 등을 편리하게 다룰 수 있습니다.
- 타입 안정성:
- 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
'Android > Study' 카테고리의 다른 글
[Android] abstract class를 이용하여 ViewBinding을 쉽게 사용하기 (0) | 2024.02.29 |
---|---|
[Android] ListAdapter에서 DiffCallBack 정리 (0) | 2024.02.29 |
[Android] 포스팅 업로드 구현 (4) - Repository (0) | 2024.02.28 |
[Android] 포스팅 업로드 구현 (3) - 화면 XML (0) | 2024.02.26 |
[Android] 포스팅 업로드 구현 (2) - ViewModel (0) | 2024.02.26 |