리액트 네이티브 앱 개발 후기
(개인적인 느낌을 담은 글이지만 약간의 홍보가 섞여있을 수 있습니다. 문제되면 자삭할게요)
평소에 웹개발을 주로 했습니다. 백엔드 프런트엔드 둘다 했지만, 프런트엔드가 저는 더 재밌더라구요.
개발하는 대로 눈앞에 나타는 걸 보는게 재밌었어요.
대학교때부터 이런저런 웹페이지를 개발하고 수정하고 하다보니 어느 순간부터 기술 흐름이랄까나, 그런게 좀 느껴지더라구요.
처음에는 vanilla javascript로 시작했고, jQuery(이젠 이름도 생소하네요)에서 Vue.js, 그리고 React 까지 오면서
예전에는 아키텍처따위 없고 서버에서 보내주는 한 페이지에서 이벤트 처리하고 화면에 보여주는 것만 하는게 끝이었던 프런트엔드가
ajax로 한 페이지 내에서 모든걸 처리하기 시작하더니,
websocket으로 서버와 대등(하다고까지는 할 수 없겠지만)할 법한 위치에서 상호작용이 일어나는것도 체험하고
모던 js에서의 상태관리와 라우팅, 컴포넌트 등으로 세분화해서 발전하는 모습이 인상적이었습니다.
그리고 최근에 와서는 PWA까지 와서는, 프런트엔드가 점차 하나의 시스템처럼 체계적으로 변화해가는걸 느꼈다고나 할까요.
이렇게 변화, 아니 진화해가는 모습이 경이로울 지경이었습니다.
그치만 이런저런 기술을 배우고 체득하다보니, 자연스럽게 이걸 써보고 싶었고
일 하면서도 틈틈이 뭔가를 만들어가기 시작했습니다.
근데 이게요, 절실히 느낀거지만
뭘 써서 개발하느냐보다
뭘 개발하느냐가 더 중요하고, 뭘 개발하느냐 보다
개발한 후에 어떻게 실제로 사용되게 할것이냐가 더 중요하다는걸 느꼈습니다.
몇번을 웹페이지 고생고생해서 만들어도, '그래서 사람들한테 이걸 어떻게 알리지?' 하는 것에 대해서는
항상 물음표였습니다.
아마 이렇게 해서 만들었다가 버린 웹페이지 프로젝트만 4~5개는 되는 듯 합니다.
(지금 생각하면 너무 아깝네요. 좋은 페이지였는데ㅎㅎ)
그러다보니 자연스럽게 생각이 닿은게 모바일 앱이었습니다.
웹페이지는 사람들이 주소를 알아야만 찾아갈 수 있으니 주소를 직접 알려야한다는 필연적인 과정이 있지만
모바일 앱은 앱스토어라는 플랫폼이 있으니까, 사람들이 이름을 모르더라도 관심사나 주제를 검색하면 플랫폼에서 제안을 해주죠.
그런데 문제는 제가 모바일 네이티브에 대한 경험과 지식이 0이었다는 겁니다.
그래서 자연스럽게 리액트 네이티브에 눈길이 가더라구요.
내가 자신있어하는 javascript로 모바일 앱을 아이폰, 안드로이드 둘다 할 수 있다는 홍보문구에 넘어간거죠ㅎㅎ
마침 제가 평소에 좋아하는 분야에 대한 아이디어가 있어서,
주변에 마음맞는 디자이너와 개발자를 꼬드겨서 무턱대고 시작했습니다.
(이 때가 19년 11월쯤 됐습니다. 다들 기존에 해보던 웹페이지 접고 방황하던..ㅋㅋ)
그때 마침 코로나 터지면서 진행을 다 카톡으로만 했었는데, 그러다보니 기획이랑 개발이 늦어지기 시작했네요.
리액트 프로젝트 처음 시작할 때 Create React App 커맨드로 시작하는 것처럼,
구글링을 조금 해보니 Expo라는게 Create React Native App 의 역할을 하는 것 같더라구요?
아무것도 모르는 상태에서 시작하니 이게 좋은 출발점이 되겠다 해서 expo init 부터 시작했습니다.
안드로이드 에뮬레이터에서 처음 켜지는 expo 앱을 보니 기대감이랑 같이 막연한 불안감이 많이 들더라구요.
여기서부터 본격적으로 헬게이트가 시작됐습니다.
리액트 네이티브에는 <div/> 가 안된다는걸 알아버렸거든요.;;;
너무 길어지는거같아서 다음에 이어서 써보겠습니다.
(결과만 먼저 말씀드리자면 지금와서 돌이켜보니 어느덧 페이지수 28개나 되는 제법 규모있는 앱이 됐습니다)