코디추천 서비스 프로젝트를 하면서 의문점이 생겼다.
해당 사진처럼 어떤 코디를 추천받을지 필터링하는 과정에 값을 넣는 방법은 크게 2가지로 분류될것이다.
백엔드 개발을 하는 입장으로써 어디까지 값을 내려주고 어디까지 하드코딩을 해놓아도 될까? 라는 고민이 생겼다.
처음에는 마냥 변경사항이 생긴다면 백엔드에서 내려줘야하지 않을까라는 생각이었지만 생각해보면 단순한 변경사항으로는 클라이언트측에서도 코드를 쉽게 변경할 수 있다.
여기서 중점은 내가 개발하는 백엔드의 클라이언트가 웹이냐 모바일이냐에 따라 달라진다.
웹
모바일
모바일에서는 프론트를 배포하고싶으면 배포를해도 안드로이드랑 IOS에서 심사를 진행한다. 따라서 우리가 원할때 언제든지 배포가 가능한 시스템이 아니라는것이다.
배포를 한다하더라도 앱에 새로운 버전이 나올때마다 업데이트하는 사용자가 얼마나 될까? 대부분의 사용자는 버전 업데이트를 바로바로 하지 않는다는 점을 기억해야한다.
위에 프로젝트를 예시로 들면 과거 버전에 스타일이 미니멀하고 이지캐주얼밖에 없는데 서비스가 커져서 새로운 버전에 다른 여러 스타일을 추가했다고 가정해보자. 사용자들이 업데이트를 하지않으면 여전히 미니멀하고 이지캐주얼밖에 사용을 못할것이다.
해결방법
만약 개발하는 클라이언트가 웹이라면 모든 정보를 클라이언트측에서 하드코딩 해도 상관없다.
하지만 모바일이라면 새로운 버전에서 추가되는 등 업데이트가 될 값들은 백엔드에서 내려주고 나머지는 하드코딩 하는 방법을 추천한다.