본문 바로가기
IT

Server Driven UI

by 내일은교양왕 2024. 11. 18.

개념

앱이 페이지를 그리는데 필요한 정보를 API를 통해 얻어서 페이지를 렌더링

 

이점

 - 앱 배포 시 심사를 걸쳐야 하기 때문에 배포가 원하는 시점에 되기 힘들지만, 서버만 배포하면 되기 때문에 유연하게 대응 가능

 - A/B 테스트를 클라이언트 변경 없이 가능

 - 하나의 서버에서 여러 플렛폼의 클라이언트 또는 서로 룩이 비슷한 서비스의 클라이언트를 대응해야 할때 용이

 

의견

아래의 글에서는 graphql를 추천하지만, rest로도 충분히 가능하다고 봄

서버에서 타입을 가져오는 방법이 graphql 뿐만 아니라 swagger doc으로도 충분함

하위호환성 부분도 graphql, rest 상관없이 서버가 뭘 내려주던  클라이언트에서 어차피 예외처리할 때 같이 다뤄지기 때문에 상관 없음

 

 

https://devblog.kakaostyle.com/ko/2021-12-16-1-server-driven-ui

 

Server Driven UI 설계를 통한 UI 유연화

웹과 달리 네이티브 모바일 앱은 빌드, 배포 후에는 수정이 불가능합니다. 만약 잘못된 위치에 버튼을 배치한 채로 스토어에 앱을 배포했다면, 그리고 사용자가 잘못된 버전의 앱을 설치했다면

devblog.kakaostyle.com