본문으로 이동
XML을 Compose로 전환하기 #우아콘2024 #우아한형제들
컨퍼런스

XML을 Compose로 전환하기 #우아콘2024 #우아한형제들

우아콘 2024 우아한형제들 · YouTube

원문 보기

AI 핵심 요약

커머스 Android 팀은 XML 기반 화면을 Compose로 옮기면서 기존 서비스 동작을 지키고, XML에 있던 일부 UI 기능을 Compose에서 어떻게 구현할지 고민했습니다. 신규 화면이나 영향이 적은 화면은 Compose로 전면 전환하고, 운영 중인 화면은 작은 UI부터 점진적으로 바꾸며 공통 디자인 시스템의 컴포저블을 재사용했습니다. 전환 과정에서 기준선 정렬에는 `alignByBaseline`, 텍스트 안의 아이콘에는 `InlineTextContent`, 동적 크기 측정에는 `SubcomposeLayout`을 활용했고 오토사이즈 텍스트도 직접 구현했습니다. Compose는 코드와 컴포넌트 재사용을 간결하게 해 주지만, 리컴포지션을 고려해야 하고 기존 기능을 새로 구현해야 할 수 있으므로 화면별 검증과 도구 활용이 중요하다는 경험을 공유했습니다.

  • 운영 중인 화면은 기존 동작에 미치는 영향을 기준으로 전면 전환과 점진적 전환을 나누고, 작은 UI부터 검증하세요.
  • 텍스트와 다른 요소의 세로 정렬이 어긋나면 `alignByBaseline`을 적용해 기준선을 맞출 수 있습니다.
  • `InlineTextContent`를 사용하면 Compose 텍스트 안에 아이콘 같은 컴포저블을 삽입할 수 있습니다.
  • 동적 크기 측정이나 자식 배치 결과에 따른 레이아웃이 필요할 때는 `SubcomposeLayout`을 검토하세요.
  • 레이아웃 인스펙터의 리컴포지션·스킵 카운트와 `TextMeasurer`를 활용해 성능과 텍스트 크기 측정을 확인할 수 있습니다.

소개

[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 요즘 다들 컴포즈로 개발한다던데, 우리는 아직 XML로 작성되어 있는데, 괜히 바꾸었다가 문제가 생기는 거 아니야? 완전 다른 방식인데 어떤 점을 신경써야 하지? 고민하신 적 있나요? 커머스Android팀에서 XML → Compose 전환하면서 겪은 사례들을 소개합니다. ㅤ 👉 발표자 소개ㅤ 박정운, Android 개발자

비슷한 학습 자료

컨퍼런스 우아콘 2025

[세션 설명] 배달의민족 앱에서 마주한 Compose Text 품질 이슈를 사례로 다룹니다. 폰트 정렬, 줄바꿈, 말줄임 처리 문제를 해결하며 픽셀 단위까지 품질을 끌어올린 과정을 공유합니다. 단순한 버그 수정이 아니라 디자인시스템 차원에서 줄높이와 간격을 집요하게 맞춰온, 끝없이 텍스트와 싸운 기록을 소개합니다. [발표자 소개] 강경완(안드로이드 개발자)

모바일 앱 개발 UI/UX

컨퍼런스 우아콘 2025

[세션 설명] Compose Multiplatform으로 우아한테크코스 인하우스 앱을 개발하고 운영하며 겪었던 네이티브 리소스 관리 노하우와 KMP 아키텍처 설계를 공유합니다. KMP 미지원 라이브러리(Firebase 등)를 통합하고 네이티브 UI 이벤트를 처리하기 위한 구체적인 코드 레벨의 고민을 담았습니다. [발표자 소개] 김수현(안드로이드 개발자, 교육자)

모바일 앱 개발 로드맵 8개에 담김

컨퍼런스 우아콘 2024

[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 잘 만들어진 디자인 시스템의 컴포넌트를 어떻게 하면 더 효과적으로 활용할 수 있을까요? 단순하고 정적인 문서에서 확장하여, 웹 기반 실시간 코드 편집기와 타입 힌트를 제공함으로써 개발자가 컴포넌트를 더 쉽게 사용할 수 있도록 지원합니다. 또한, 코드 스니펫 공유 기능을 통해 생산성을 높이는 과정에서 마주한 기술적 도전과 해결 과정을 상세히 다룹니다. ㅤ 👉 발표자 소개ㅤ 추용혁, 웹프런트엔드 개발자

프론트엔드 UI/UX

컨퍼런스 우아콘 2024

[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 방대한 컴포넌트 라이브러리와 빼곡한 원칙들이 존재함에도 불구하고, 우리는 왜 끊임없이 새로운 시스템을 만들어야 할까요? 디자인 시스템을 단순 스타일 가이드를 넘어 진정한 '시스템'으로 작동하게 하려면 어떻게 해야 할까요? 1년 6개월간 “우아한형제들”의 디자인 시스템 여정을 통해 얻은 인사이트를 공유하며, Base Component와 Foundation API를 통해 코드를 효과적으로 연결하고, 이를 통해 디자이너와 엔지니어의 비효율적인 프로세스를 최소화하고, 보다 중요한 고민에 집중할 수 있는 방법들을 소개합니다. ㅤ 👉 발표자 소개ㅤ 허준, UX엔지니어

프론트엔드 UI/UX

컨퍼런스 우아콘 2024

[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 우아한형제들 멘토와 함께한 멘토링 세션입니다. ㅤ 👉 멘토 소개ㅤ 강경완, 모바일앱개발그룹/Android 김상국, 모바일앱개발그룹/Android

모바일 앱 개발

컨퍼런스 우아콘 2022

배달의민족 Android 프로젝트에 디자인시스템(aka 배시시, 배민시각시스템)을 도입한 경험과, 디자인시스템을 만들기 위해 Jetpack Compose를 사용해 보고 느낀 점을 공유합니다. [발표자 소개] 강경완 | 배민푸드Android개발팀 배달의민족 Android 앱을 개발합니다. 모든 사람이 편하게 사용할 수 있는 앱을 만들기 위해 노력합니다. 사람들과 만나 소통하는 걸 좋아하며, 개발자 커뮤니티를 운영하고 있습니다.

모바일 앱 개발 UI/UX