변경 유연성·클라이언트 버전 의존도·하위 호환성·타입 안전성 연결 중심으로 푸는 결
Server Driven UI를 설계할 때 가장 먼저 고려하는 건 클라이언트 앱 업데이트 없이 화면을 얼마나 유연하게 바꿀 수 있냐는 것입니다. 이 커뮤니티 앱처럼 탭 내 콘텐츠가 다양하고 A/B 테스트가 빈번한 환경에서는, 서버에서 UI 구성 요소를 명세로 내려주는 방식이 배포 주기와 실험 속도를 높이는 데 유리합니다. 다만 서버에서 어디까지 제어하고 클라이언트가 어디서부터 해석할지의 경계를 명확히 하지 않으면, 명세가 복잡해질수록 클라이언트가 예외 케이스를 감당하기 어려워지는 문제가 생깁니다. 학부 프로젝트에서 API 응답으로 화면 레이아웃을 제어하는 방식을 실험했는데, 컴포넌트 타입을 `enum`으로 엄격하게 정의하고 알 수 없는 타입은 기본 컴포넌트로 폴백하도록 설계한 것이 안정성을 높이는 데 가장 효과적이었습니다.
새 컴포넌트를 추가해도 구버전 앱이 크래시 없이 렌더링되는 것이 사용자에게 가장 중요한 경험이기 때문에, 하위 호환성 전략을 설계 초반에 잡는 것이 핵심이라고 생각합니다.