
백엔드
당근 홈 피드, Server Driven UI로 실험 이터레이션 빠르게 돌리기
두줄요약
당근 홈 피드에 SDUI를 도입해 앱 업데이트 없이 UI 실험을 빠르게 진행할 수 있게 했습니다. 피드 아이템 카드와 제네레이터로 재사용성과 하위 호환성도 함께 높였습니다.
문제 상황
- 홈 피드의 뷰타입이 서비스별로 분화되며 재사용이 어려운 구조
- 클라이언트 배포 의존으로 앱 업데이트와 하위 호환 처리 부담 증가
- UI 실험마다 배포와 사용자 수 확보가 필요해 이터레이션 속도 저하
- UI 요소 명칭이 제각각이라 팀 간 소통 비용 발생
해결 방법
- 서버가 UI 구조와 동작을 제어하는 SDUI 도입
- 검증된 레이아웃 기반으로 섹션, 컴포넌트, 프로퍼티 계층화
- 피드 액션으로 클라이언트 이벤트 처리 방식 통합
- 피드 아이템 제네레이터로 서비스별 데이터를 일관된 카드 형태로 변환
성능/운영 포인트
- 앱 업데이트 없이 서버 수정만으로 실험 시작 가능
- 실험 준비 기간을 1~2주 수준으로 단축
- 앱 버전별 하위 호환과 최신 버전 중심 실험 분리
- 중앙화된 관리로 실험 분석과 적용 효율 개선