리액트 네이티브를 써야 할까?

Mars Kim
Cross-Platform Korea
7 min readOct 25, 2019

흔하디 흔한 이야기 중 하나….가 아닐지도?

원 저자: Lorenzo Sciandra
원글 작성일: 2017/11/06
번역일: 2019/10/25

Photo by Mike Enerio on Unsplash

이 글은 원 저자Medium 글을 번역한 것입니다. 원글의 링크들은 번역하기엔…너무 양이 많습니다 😭

이 글은 같은 주제에 대해서 정리해둔 글들을 모은 것입니다. 또한 이 프레임워크(리액트 네이티브)에 대한 저의 경험(최소 15개월 이상) 에서 재빨리 떠오른 생각들을 덧붙였습니다.

이 글을 쓰는 이유는 이같은 글을 써서 저장해 놓았다가, 인터넷(GKeep, Medium, Pocket, 등)의 누군가에게서 “이거 쓸만해?” 라는 소리를 들을 때마다 일부분을 보내주곤 했기 때문입니다. 그리고 맨날천날 ‘아 이거 말고 저번에 썼던 딴 글이 더 좋겠는데…아….음… 어디다 저장해 놨더라?’ 라고 까먹곤 했기 때문이기도 하구요.

가볍게 시작해봅시다: 밑의 글들은 리액트 네이티브의 장단점에 대해서 제가 인터넷에서 찾은 실제로 꽤 흥미로운 것들입니다.

그리고 이제부터 좀 배려가 없다고 느끼실 수도 있지만, 빨리빨리 진행하겠습니다. 왜냐면, 각 부분마다 제대로 깊게 들어간다면 20분씩은 족히 걸릴텐데, 보통 리액트 네이티브를 써야되냐 말아야되냐는 질문을 받을때면 30초 미만으로 답을 해야 하는 상황이 옵니다. 그러니까 믿고 빨리 따라오세요. 싫음 어쩔 수 없구요.

갑니다:

  1. , 제 생각에는 90%의 경우에, 앱을 만들때 리액트 네이티브로 충분하고도 남습니다. (한개의 코드 베이스로 iOS와 안드로이드를 (또는 윈도우도) 커버하기 때문에 — 역주) 더 넓은 시장으로 뻗어가면서 비용을 아낄 수 있지요.
  2. 네이티브로 짜여진 앱들을 제외하고는, 네이티브 앱과 비슷하게 퍼포먼스를 내는 앱을 만들수 있는 프레임워크들 중 비교할 만한 대상이 없습니다. 아마도 미래에 Flutter 정도가 괜찮을 것 같은데, 아직은 리액트 네이티브에게 “진정한” 라이벌은 없습니다. (키배 시작 3초전…2초전…1초전…)
  3. 어렵습니다. 아마도 여러분의 개발시간 중 10-20% 정도를 (리액트 네이티브의) 새로운 버전에 적응하고 쫓아가는데, 또는 소스 코드를 읽거나 깃헙 레포의 이슈들을 읽는데 쓰시게 될 겁니다.
  4. (위의 1번 항목에서) 사실 99%의 경우라고 했어야 됐었습니다. 핫도그 그림을 보여주면서 이게 핫도근지 아닌지 맞추는 인공지능을 로컬에서 돌리는 앱이라거나 테슬라 앱도 (리액트 네이티브로) 충분합니다.

저는 여러분이 이 글을 읽고, 여러분과 여러분의 회사, 혹은 룸메이트에게 새 모바일 앱을 만들 때 리액트 네이티브를 써야 하는가에 대해서 충분히 설명해주실 수 있으리라고 희망합니다.

또한 저는 이 글이 여러분에게 충분히 넓은 시야를 드려서, 여러분이 제 의견을 받아들이시거나 위의 링크들의 글들과 버무리시거나, 여러분이 가지고 있는 특정한 상황에 적용시키시거나 여러분만의 의견을 만드시기에 적합했기를 바랍니다.

Aaaaaaaaand 여러분이 개발자라면, 한번 try 해보시기 바랍니다. Snack Expo가 맛보기를 하시는데 굉장히 좋습니다; 그리고는 저의 다른 글에서 어떻게 제대로 배우는지 알아보실 수 있습니다.

네, 다시 글을 쓰게 되었습니다! 오랫동안 쉬어서 죄송합니다 — 한동안 “정말로” 꽤 바빴습니다: 저는 멋진 동료들(다들 저보다 훨씬 나은 프로그래머들이죠)과 함께 react-navigation활발하게 관리하고 있습니다. 하지만은 좀 일이 한가해졌을 때 시간을 보내다 보니, 좀 더 (사람들에게) 도움을 줄 수 있겠다 싶어졌습니다. 언제 Medium에 다시 돌아올진 모르겠습니다만 — 그동안에는 저를 twitter계(界) 🦆에서 찾으실 수 있습니다.

*원 저자인 Lorenzo Sciandra에게 트위터 DM을 보냈지만 답이 없어 먼저 게재하도록 하겠습니다. 문제나 항의가 있을 시 삭제하도록 하겠습니다.

--

--

Mars Kim
Cross-Platform Korea

react/react-native dev. chronic violin practice procrastinator.