React Native - Application 개발 후기
개요
하루에도 몇 번씩 울화통이 터졌던 React Native 개발을 마무리하고자 한다.
프로젝트기간
8월 21일부터 시작 ~ 현재 마무리 단계 사실 상 (2주)
시작 전 나의 상태
React (Jquery 같은 거 아닌가) - 하나도 모름
Javascript - 요즘 Node.js의 Express Module + @를 이용하여 웹서버를 만들고 있었기 때문에 사실 최근 가장 많이 사용한 언어 - 자신감 넘침
CSS(React Native에서는 StyleSheet라는 오브젝트다) - 위와 같은 이유로 자신감 넘침 (프론트 할 사람이 없다)
Android - 예전에 정말 죽어라 했었는데... 모바일 웹이라는 신세계를 알아 버린 이후로 조금씩 시들해지고 있는 녀석, 하지만 한 6년 정도 꾸준히 썼었던 언어라 자신감은 있다. 마치 롤을 접었다가 하면, 처음에는 브론즈지만 금방 본 티어로 찾아가는 클라스는 죽지 않는다와 비슷
iOS - 無
개발 후기
React Native로 개발하게 된 가장 큰 이유는 두 가지 정도의 이유 때문이다. 대리님과 내가 각각 iOS, Android + backend를 맡아서 프로젝트를 진행하고 있었지만 대리님은 iOS를 배워가면서 개발하는 수준이라 혹여나 프로젝트가 터질지 모른다는 것(시간이 무기한으로 길어진다는 것을 의미), 앞으로 시작할 앱 프로젝트에 Swift 개발이라는 것이 필요 없어질 수도 있겠다. 싶어서 그랬다. 그리고 한 가지 더 이유를 들자면 기존의 안드로이드는 어느 정도 만져 봤으니, 새로운 언어로 개발해보고 싶은 욕심 때문이다. (Facebook에서 자그마치 관리하고 있지 않은가!)
하지만 개발을 순조롭지 않았다. 하루에도 몇 번씩 주커버그가 죽었으면 좋겠다고 생각했으며(대학원에서 석사과정 때 딥러닝 한창 돌릴 때, 아침에 도착했는데 빌게이츠가 웃으면서 ㅋ 그러게 누가 윈도우 쓰래 하고 있을 때 만큼 빡쳤었다), 조울증 환자마냥 극도의 무표정(빡침)으로 있다가 뭐하나 해결하면 실실 웃지를 않나, 키보드 옆에 쥐어뜯은 머리가 한웅큼 씩 떨어져있기도 했다. 그리고 스택 오버 플로우의 관련 키워드라는 키워드는 다 읽어서 보라색 크롬을 만들기도 했으며, 탭은 폭발하기 직전으로 항상 유지되었다. 메모리가 16기가 아니었더라면, 끔찍했을 일이다.
하지만 저것은 모두 과거의 이야기. 지금은 안드로이드로 정상적으로 Signed APK 파일이 생성되는 것을 확인했으니까, xcode에서 iOS 앱이 정상적으로 시작되는 것을 확인했으니까 마음이 편하다. 아니 이제는 막 모든 앱을 React Native로 구현할 수 있을 것 같은 근자감도 든다.
가장 어려웠던 것은 어제 있었던 Notification 처리, 내가 글을 잘못 읽어서 헤맨 것, iOS 지식이 없어서 헤맨 것, 그리고 극적으로 문제를 해결 한 것 3박자가 이루어져 기억에 남는다. 카카오톡은 어떻게 구현했을까? 도대체 어떻게 하는 것일까 이런 생각을 하면서 계속 머릿속으로 우리랑 비슷한 기능을 하는 모델을 찾고 어떻게 구현했을지 방법을 찾았다.
이러한 작업으로 나 자신도 발전하고, 회사 차원에서는 시간안에 프로젝트를 완료했으며, 대리님과 유대감을 더욱 증진 시키는 계기가 되었다. 적을 말도 많고, 할말 도 많지만... 모두 기록을 해두지 않아서 너무 아쉽다.
그래서...
다음에 또 React Native로 앱을 만들 것인가 물어본다면, YES라 하겠다. 다만 굉장히 네이티브의 기능을 깊게 파고들어야하는 앱이라면 못 만들겠지만.. 일반적으로 서버와 통신하는 정도의 앱이라면 만들어 볼 수 있지 않을까? Link 자동 동기화 문제만 해결된다면 npm을 통한 라이브러리 활성화가 이루어져 정말 멋진 플랫폼이 될 것이라고 생각한다.











