[Android] Jetpack Compose - 사용해야 하는 이유
간단한 코드
- "동일한 버튼 클래스의 경우 [코드] 의 규모가 10배 더 작았습니다.” (Twitter)
- “RecyclerView로 빌드한 모든 화면에서 상당한 감소 효과가 나타났으며, 대부분의 화면이 여기에 해당합니다.” (Monzo)
- “앱에서 목록이나 애니메이션을 만드는 데 필요한 코드 줄이 이렇게 적다는 사실이 매우 기뻤습니다. 기능마다 작성하는 코드 줄 수가 줄어든 덕분에 고객에게 가치를 제공하는 데 더욱 집중할 수 있게 되었습니다.” (Cuvva)
- “Kotlin과 XML 사이를 전환하는 것이 아니라 모든 것이 같은 언어로 종종 같은 파일에서 작성되면 코드를 추적하기가 훨씬 쉬워집니다.” (Monzo)
- “Compose의 레이아웃 시스템은 개념적으로 더 단순하기 때문에 추론하기도 쉽습니다. 복잡한 구성요소의 코드도 쉽게 읽을 수 있습니다.” (Square)
직관적
- "테마 레이어가 훨씬 더 직관적이고 읽기 쉽습니다. 멀티 레이어 테마 오버레이를 통해 속성을 정의하고 할당하는 여러 XML 파일로 확장해야 했을 일을 단일한 Kotlin 파일 내에서 달성할 수 있었습니다.” (Twitter)
- "사용 및 유지관리가 쉽고 구현/확장/맞춤설정이 직관적인 스테이트리스 UI 구성요소의 새로운 세트를 제공하겠다는 목표를 세웠습니다. Compose는 이를 위한 좋은 해답이었습니다.” (Twitter)
- “추론하는 동안 기억해야 하는 사항이 줄어들고 통제를 벗어나거나 제대로 이해하지 못하는 행동도 적어집니다.” (Cuvva)
빠른 개발 과정
- “상호 운용성에서 Compose 통합이 시작되었으며 '사용하기 쉽다'는 사실을 알았습니다. 밝은 모드와 어두운 모드 등을 신경 쓸 필요가 전혀 없었고 전반적인 사용 환경이 매우 완벽했습니다.” (Cuvva)
- "Android 스튜디오의 미리보기 덕분에 시간이 크게 절약되었습니다. 또한 여러 미리보기도 빌드할 수 있기 때문에 시간이 절약됩니다. 오류 상태나 여러 가지 글꼴 크기처럼 상태와 설정이 다양한 UI 구성요소를 확인해야 하는 경우가 많습니다. 이때 여러 미리보기를 만들 수 있으므로 확인하기가 쉽습니다.” (Square)
강력한 성능
- "Compose는 선언적 UI보다 더 많은 문제를 해결하기도 했으며 접근성 API, 레이아웃 등 모든 항목이 개선되었습니다. 만들고 싶은 것과 실제로 만드는 것 사이의 차이가 줄어듭니다.”(Square)
- “애니메이션을 Compose에 쉽게 추가할 수 있으니 색상/크기/고도 변경 등을 애니메이션으로 처리하지 않을 이유가 없습니다.”(Monzo),
- “특별한 도구가 없어도 애니메이션을 만들 수 있습니다. 정적 화면을 표시하는 것과 다르지 않습니다”(Square).
- "머티리얼 디자인을 기반에서 분리하면 정말 유용합니다. 자체 디자인 시스템을 구축하다 보면 머티리얼과 디자인 요구사항이 다른 경우가 많기 때문입니다.” (Square)