
아키텍처
클라이언트 배포 없이 UI를 바꾼다고? 에이닷 Server Driven UI 도입기
두줄요약
에이닷은 앱 재배포 없이 UI를 바꾸기 위해 Server Driven UI를 도입했습니다. JSON 스펙, Admin 시스템, 동적 렌더링으로 운영 효율을 높였습니다.
문제 상황
- AI 비서 앱에서 빠르게 변화하는 응답 포맷과 사용자 맞춤형 UI 요구 증가
- 기존 클라이언트 중심 방식은 UI 변경마다 앱 수정, 배포, QA 반복 필요
- 대화방 영역에 30개 이상 컴포넌트가 존재해 레이아웃 관리와 확장 부담 증가
해결 방법
- 서버에서 UI 구조와 동작을 정의하고 클라이언트는 JSON 스펙을 해석해 렌더링하는 SDUI 도입
- Screen, Component, Action으로 UI를 분리하고 Layout·Element 기반으로 재사용 가능한 스펙 설계
- Android Compose와 iOS SwiftUI에서 동적 렌더링 구현, Admin 시스템으로 템플릿 정의와 변수 치환 지원
성능/운영 포인트
- 앱 재배포 없이 UI 반영 가능해 변경 속도와 운영 효율 향상
- 클라이언트는 렌더링 전용 역할로 단순화되지만, 스펙 버전 관리와 하위 호환성 체계 필요
- 부분 적용으로 위험을 줄이며 단계적으로 확장하는 방식 채택
