brunch

You can make anything
by writing

C.S.Lewis

by charian Dec 19. 2018

디자이너의 네이티브 앱 개발 도전기 #24

좌절

좌절의 나날이다.

state들은 늘어가고 코드는 꼬이기 시작한다.

처리해야 할 함수는 늘어나고 비동기 state처리는 발목을 잡는다.


시작은 setting에서의 기본 지역 선택이었다.

지역을 선택하면 앱이 즉각 반응해 날씨를 모두 바꿔야 했다.

context에 대한 이해가 별로 없는 상태에서 큰 시련이었다.


쉽지 않았던 이유는 이러하다.

사용자가 아무리 지역을 추가했다 한 들 gps로 가져온 지역 값은 존재해야 했다.

GPS 지역과 저장한 지역이 공존해야 한다.

저장한 지역은 local storage에 지역 KEY를 보관하고, GPS지역은 앱을 실행할 때마다 새로 가져와야 한다.

사용자는 GPS 지역을 사용할 것이냐 저장된 지역을 사용할 것이냐를 선택하게 되고 앱은 그것을 기반으로 날씨 정보를 뿌린다.


난해한 부분은 여기에서 시작하는데,

GPS를 기반으로 날씨를 뿌리는 API와 저장한 지역을 기반으로 날씨를 뿌리는 API가 쿼리 구조가 다르다.

즉, 경우에 따라 함수를 나누어 실행하거나 중간에 분기점이 되는 함수를 작성해야 하는데 개발을 하던 사람이 아니라 그런지 도무지 간단한 방법이 떠오르질 않는다.

매거진의 이전글 디자이너의 네이티브 앱 개발 도전기 #23
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari