brunch

You can make anything
by writing

C.S.Lewis

by charian Dec 03. 2018

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

디자이너에게 string과 객체의 구분은 어렵다

flex layout에 대해 글을 쓴다 해놓고 아직 쓰질 못하고 있다.

여러 가지 이슈를 처리하느라 뒤로 밀린 탓이다.

몇 가지 해결한 이슈가 있고 도무지 모르겠어서 진행 못한 게 있다.


진행한 것.


1. daytime 이슈

앱의 디자인은 daytime이 true냐 false냐에 따라 바뀌는 부분이 있고 보여야 할 데이터가 달라지는 부분이 있다.

이를테면 Sunset은 daytime이 true일 때 나와야 하고, false이면 sunrise가 나와야 한다.

배경 그라디에이션은 daytime이 false일 때 밤처럼 나와야 한다.

다행히 accuweather에서 isDayTime을 boolean 타입으로 던져줘서 이 값을 state에 저장해놓고 사용하면 되는데 이게 됐다 안됐다 하는 거다.

결국 json fetch로 받아온 boolean값을 isDaytime: JSON.stringify(locationData[0].IsDayTime) 이렇게 스트링으로 변환한 후 state에 넣어 사용했다.


2. style state

위와 마찬가지로 expo의 LinearGradient를 밤에만 적용해야 하는 이슈가 있다.

낮에는 opacity 0, 밤에는 opacity 1을 줘야 하는데 스타일을 string으로 던지려다 실패했다.

커뮤니티의 스승께서 스트링과 객체를 따로 구별해야 한다라고 조언을 해주셔서 const로 객체화한 후 이걸 state에 담아 던졌다.

이 state를 1번에서 다룬 isDayTime에 맞춰 넣으니 잘 되었다.


3. sunrise, sunset

assuweather에서 일몰과 일출 시간을 가져오면 년 월 일 시 분 초 기준 시를 모두 가져온다.

이걸. substring(11, 16)으로 잘라 state에 넣어주었다.

대신 PM. AM표현은 안된다. 그냥 24시간 기준이다.

언젠가 setting 화면에서 12시간 표현법이냐 24시간 표현법이냐를 선택할 수 있게 해야 할 텐데, 로드맵에 추가해야 할 이슈다.

당장엔 프로젝트 런칭이 우선이다.


etc.

이 외에도 많다.

이번 이슈는 대부분 string과 객체와의 혼동 때문인데, 이건 내가 개발에 대해 일자무식이기에 발생한 이슈다.

이를테면 디자이너가 벡터와 비트맵을 구분 못하는 것과 같다.



못한 것.

또 drawer 이슈다.

router에서 drawerlabel을 만들어 sidemenu로 보내면 사용할 수 있는 것 같던데 내가 사용한 샘플에선 해당 부분을 구현한 부분이 없어 아직 답보상태다.

이걸 넘길 수 있어야 activeItemTinecolor을 넣을 수 있는데 걱정이다.

현재 활성화된 메뉴의 메뉴 텍스트 컬러를 더 밝게 하는 등의 이슈니까 이것 또한 디자인 이슈인데 사실 이런 부분을 포기하기가 쉽지 않다.

이것 때문에 거의 하루를 쏟아부었는데 해결을 하지 못하고 stackoverflow 에 질문을 올려두었다.

답변은 아직 없다.


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