개요

OnGreen - Apps on Google Play

Ongreen

중요사항

많은 부분을 FanArcade App(iOS, Android) 에서 차용했지만 가장 큰 변화가 있던 부분들에 대한 설명

Typescript

완전 기초부터 Typescript로 작성했다. 가장 필요를 느낀 부분은 오류의 직접적인 확인과 개발 편의성이었다. Typescript로 작성된 function 혹은 class는 오류가 발생하는 즉시 어떤 문제로 오류가 발생하는지 바로 확인이 가능했다. 그렇기 때문에 혼자서 개발하는 과정에서 발생할 수 있는 많은 오류를 찾는 수고를 줄일 수 있었고 기능을 짜고 활용하는 과정에서도 어떤 Parameter가 필요하고 어떤 Return이 있는지 확인하면서 개발할 수 있다보니 적응하는 기간이 무색할 정도로 개발 기간이 줄었다는 체감을 받을 수 있었고 실제로 2개월 정도만에 테스트버전이 나올 수 있었다.

하지만 가장 노동집약적이었고 난관인 부분은 서버와의 통신하는 과정에서 발생하는 데이터들의 타입 정의였다. 백엔드 개발자와의 소통과정이 원활하지 않은 remote 상태에서의 작업이었다 보니까 내가 원하는 문서가 바로바로 들어오지 않고 어플 상의 어느 요청이 있으면 2~3일 정도의 딜레이가 발생하고 발행된 문서를 통해서만 타입을 지정할 수 밖에 없는 한계가 있는 상황에 부딪히면서 개발 과정이 딜레이 되는 것을 알 수 있었다.

나는 여기서 Typescript의 단점을 느낄 수도 있었는데 체계적으로 문서화되지 않는 작업에 있어서는 한계에 부딪힐 수 밖에 없었다. 준비되지 않는 기능을 내 마음대로 어플에 추가할 수 없었기 때문이다. 타입을 준비하고 많은 method들의 타입도 지정해야 실행이 가능한 Typescript이다보니 Javascript에서 느꼈던 바로바로 테스트 실행이 가능한 기능을 구현하기에는 어려움이 있었다. 하지만 한 번 타입을 지정하면 오류가 발생하는 일이 적었기 때문에 일장일단을 느낄 수 있었다. 그리고 문서화가 잘되는 작업의 경우에는 오히려 시너지가 더욱 발생할 수 있는 환경이라고 느꼈다.