본문으로 이동
Android 개발자가 iOS 개발자 없이 앱 출시하기: Compose Multiplatform 아키텍처 설계부터 운영까지 #우아콘2025 #우아한형제들
컨퍼런스

Android 개발자가 iOS 개발자 없이 앱 출시하기: Compose Multiplatform 아키텍처 설계부터 운영까지 #우아콘2025 #우아한형제들

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

원문 보기

AI 핵심 요약

안드로이드 개발자만으로 2개월 안에 교육생용 출결 앱을 출시하기 위해 Compose Multiplatform을 선택했고, UI를 공통 Compose 코드로 구현해 Android와 iOS에 배포했다. 푸시·강제 업데이트처럼 네이티브에서 시작되는 이벤트는 Swift 브리지와 StateFlow로 공통 UI에 전달했으며, KMP를 지원하지 않는 Firebase Crashlytics는 공통 인터페이스에 Swift 구현체를 주입하는 의존성 역전 구조로 연동했다. 모듈을 별도 XCFramework로 분리했을 때 싱글톤 인스턴스가 달라지는 문제를 겪어 구조를 올인원 모듈로 조정했고, CocoaPods 플러그인도 대안으로 검토했다. 8개월 운영 결과 UI 로직은 공통화하고 전체 코드의 약 97%를 Kotlin으로 작성했으며, 플랫폼 경계와 라이브러리 지원 여부를 고려한 아키텍처 설계가 중요하다는 점을 얻었다.

  • OS에서 시작되는 푸시 알림이나 업데이트 이벤트는 네이티브 코드에서 받아 공유 상태로 전달하는 브리지가 필요하다.
  • 비동기 결과와 콜백 기반 SDK는 단순한 expect/actual 함수만으로 다루기 어려우므로 데이터 흐름을 별도로 설계한다.
  • KMP 미지원 SDK는 공통 모듈에 인터페이스를 두고 Swift 구현체를 주입하는 의존성 역전 방식으로 연결할 수 있다.
  • iOS에서 여러 XCFramework로 모듈을 나누면 싱글톤 인스턴스가 분리될 수 있으므로 실제 메모리·의존성 구성을 검증해야 한다.
  • Kotlin Multiplatform의 CocoaPods 플러그인을 이용하면 Gradle 설정에서 iOS Pod 의존성을 관리하는 대안도 있다.

소개

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

이 자료가 담긴 로드맵

커뮤니티에서 더 보기

비슷한 학습 자료

컨퍼런스 엔지니어링데이 2025

KMP 기반 UI 컴포넌트 통합 전략

컨퍼런스 엔지니어링데이 2025

네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2025(5월)에서 발표되었던 세션을 공개합니다. [발표 내용] 멀티플랫폼에 대응 가능한 밴드 디자인 시스템의 설계 및 구현 방식에 대해 소개하고, 밴드 안드로이드 팀에서 아이콘 리소스를 자동화하여 관리하는 방법에 대해서 공유합니다. [강의 대상] * 안드로이드 개발자 및 멀티플랫폼에 대한 관심이 있는 분 * 디자인 시스템에 관심이 있는 분 [목차] Episode 1 : 디자인 시스템, 개념에서 실전까지 Episode 2 : KMP, 진짜 실무에 쓸 수 있을까? Episode 3 : BDS 모듈에 KMP 적용하기 Episode 4 : 디자인 시스템 UI 컴포넌트, Maven으로 배포하기 Episode 5 : Figicon으로 아이콘 자동 동기화하기

프론트엔드 모바일 앱 개발

컨퍼런스 우아콘 2025

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

모바일 앱 개발 UI/UX

컨퍼런스 우아콘 2024

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

프론트엔드 모바일 앱 개발

컨퍼런스 우아콘 2022

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

모바일 앱 개발 UI/UX

컨퍼런스 우아콘 2022

배달의 민족을 이용하시는 사장님들을 위한 통합 서비스, '배민사장님 앱'! 이 앱을 개발한 개발자들은 어떤 기능을 어떻게 개발할까요? 또 어떤 고민을 가지고 어떻게 풀어나갈까요? 배민사장님앱의 개발 이야기가 궁금하신 분들은 주목해 주세요! iOS 개발자가 들려주는 앱의 핵심 기능 개발부터, 프론트엔드 개발자가 들려주는 문제상황과 해결 방법을 거쳐, Android 개발자가 들려주는 새로운 아키텍처 도입까지! 무엇을 좋아하실지 몰라 종합세트로 준비했습니다. [발표자 소개] 김동연 | 배민푸드Android개발팀 우아한형제들에서 주문고객님, 사장님을 위한 Android앱을 개발하고 있습니다. 훌륭한 동료들과 유익한 앱을 만들기 위해 노력중입니다. 김양원 | 셀러웹프론트개발팀 우아한형제들에서 배민사장님앱 웹뷰를 개발하는 웹프론트엔드 개발자입니다. 편리하고 이질감 없는 사용성을 느낄 수 있는 서비스를 만들도록 최선을 다하고 있습니다. 박하영 | 배민푸드iOS개발팀 귀한 분과 사장님을 위한...

프론트엔드 모바일 앱 개발

컨퍼런스 우아콘 2021

Jetpack Compse가 1.0 버전으로 공개되었습니다. 배달의민족 프로젝트에 Jetpack Compose를 사용해보고 느낀점을 공유합니다. [발표자 소개] 강경완, 배민Android개발팀 배달의민족 Android앱을 개발합니다. 모든 사람이 편하게 사용할 수 있는 앱을 만들기 위해 노력합니다. 사람들과 만나 소통하는 걸 좋아하며, 개발자 커뮤니티를 운영하고있습니다.

프론트엔드 모바일 앱 개발