제품 만들기 ·
플러터 vs 리액트 네이티브, 창업자가 볼 건 '개발팀이 떠난 뒤'예요
플러터와 리액트 네이티브 비교 글은 대부분 개발자가 무엇을 배울지를 다뤄요. 창업자가 먼저 볼 건 만든 팀이 떠난 뒤 누가 이어받아 고칠 수 있느냐예요.
"플러터랑 리액트 네이티브 중에 뭐로 만들어야 해요?" 앱을 준비하는 대표님께 자주 받는 질문이에요.
검색하면 비교 글이 많이 나와요. 성능 · 개발 편의 · 배우기 쉬운 쪽을 따져요. 대부분 개발자가 무엇을 배울지에 대한 글이에요.
창업자의 질문은 달라요. 앱은 한 번 만들고 끝나지 않아요. 만든 팀이 떠난 뒤에도 누군가 고치고 기능을 붙여야 해요.
그래서 결론부터 말씀드릴게요. 어느 쪽이 더 좋은지보다, 팀이 바뀌어도 이어받을 사람이 있는지를 먼저 보세요.
네이티브 · 하이브리드 · 크로스플랫폼의 차이는 모바일 앱, 어떤 방식으로 만들까에 정리했어요. 이 글은 크로스플랫폼 두 가지와 만든 뒤의 운영만 다뤄요.
플러터로 만든 뒤 개발팀이 떠나면 어떻게 되나요
2023년에 유튜브 멘토링으로 만난 대표님 이야기예요.
- 내부 개발팀을 꾸려 플러터로 앱을 만들었어요.
- 첫 개발은 마무리됐어요. 회원은 1,000명쯤, 월매출은 300만 원쯤이었어요.
- 비용 문제로 팀을 유지하지 못하고 정리했어요.
남은 고민은 이거였어요. "플러터를 다루는 개발자가 많지 않아서 만드는 동안에도 어려웠어요. 유지보수는 어떻게 하죠?"
붙이고 싶은 기능도 있었어요. 커뮤니티와 게임 요소였어요. 기획은 있는데 만들 사람이 없었어요.
그때 제가 드린 말이 있어요. 스택에 정답은 없어요. 다만 한 번 고르면 다른 걸로 바꾸기가 아주 어려워져요.
창업자는 둘을 어떻게 비교해야 하나요
둘 다 좋은 기술이에요. 코드 한 벌로 아이폰과 안드로이드 앱을 같이 만들어요. 창업자에게 차이가 나는 곳은 다음 사람이에요.
| 창업자가 볼 것 | 플러터 | 리액트 네이티브 |
|---|---|---|
| 쓰는 언어 | Dart | 자바스크립트 (React) |
| 이어받을 사람 | Dart 로 앱을 만들어 본 개발자 | React 를 아는 개발자. 기기 기능 연동은 따로 익혀야 해요 |
| 웹사이트 | 보통 앱과 따로 만들어요 | 보통 앱과 따로 만들어요 |
2023년 멘토링 때 제 판단은 이랬어요. 채용과 유지보수만 보면 자바스크립트 쪽이 유리했어요. React 를 다루는 개발자가 훨씬 많았거든요.
채용 시장은 시기마다 달라요. 뽑으려는 때에 채용 사이트에서 두 기술로 직접 찾아보세요. 감이 바로 와요.
개발팀을 바꿀 때 무엇이 발목을 잡나요
프레임워크보다 이런 것들이 더 오래 붙잡아요.
- 같은 기술을 아는 사람 찾기 — 다룰 줄 아는 사람이 적은 기술일수록 오래 걸려요.
- 웹과 앱이 따로인 코드 — 앱 개발자와 웹 개발자를 따로 구하거나, 둘 다 하는 사람을 찾아야 해요. 버그도 두 곳에서 고쳐요.
- 기기 기능 코드 — 푸시 알림 · 센서 같은 부분은 네이티브 코드가 섞여요. 어디에 무엇이 있는지 적어 두지 않으면 다음 사람이 찾느라 시간을 써요.
- 계정 — 코드 저장소 · 애플과 구글 개발자 계정 · 서버가 개발사 명의면 옮기는 일부터 해야 해요.
팀이 떠나기 전에 이것만은 받아 두세요.
- 소스코드 저장소 — 초대가 아니라 소유권으로요. 외주 끝나고 코드 받을 때에 방법을 적었어요.
- 애플 · 구글 개발자 계정 — 회사 명의로요.
- 앱을 빌드해 스토어에 올리는 방법 문서
- 푸시 알림 등 외부 서비스 계정과 키
- 서버 · 도메인 계정
- 기기 기능을 쓰는 화면 목록
계약서에서 챙길 조항은 외주 개발 계약서에 따로 정리했어요.
이미 만든 앱, 다시 만들어야 하나요
제 기준은 남은 일의 양이에요.
- 앞으로 만들 게 더 많다면 바꾸는 쪽을 검토해요.
- 남은 게 절반이 안 된다면 지금 것을 유지하는 게 나아요.
- 다시 만드는 비용은 고치는 비용보다 훨씬 커요. 예산이 넉넉해진 뒤에 정해도 늦지 않아요.
그 대표님께는 개발을 더 하지 말자고 말씀드렸어요. 회원 1,000명에 월매출 수백만 원이면 좋은 지표였거든요.
대신 이렇게 권했어요.
- 기능을 더하지 않아요. 이미 기능이 꽤 있었어요.
- 사용 흐름에서 이상한 곳만 고쳐요.
- 돈이 적게 드는 마케팅으로 유입을 늘려요.
- 다시 만들지는 돈이 충분해진 뒤에 정해요.
새로 시작한다면 무엇을 고를까요
제 답은 둘 다 아니에요. 웹을 먼저 만들고, 앱은 그 웹을 감싸서 내요.
- 코드가 한 벌이에요. 웹 · 아이폰 · 안드로이드가 같은 화면을 써요.
- 이어받을 사람이 웹 개발자 한 명이면 돼요. Dart 나 네이티브 모듈 연동을 따로 익히지 않아도 돼요.
- 기기 기능은 필요한 곳만 네이티브로 붙여요. 푸시 알림처럼 꼭 필요한 부분만요.
저는 Hotwire Native를 써요. 웹 화면을 앱 껍데기로 감싸고, 화면 전환과 뒤로 가기는 앱처럼 처리해 줘요. 루비온레일즈와 가장 잘 맞아요.
에이전시를 운영할 때 레일즈를 주력으로 썼어요. 다른 기술로 한 달 걸릴 일을 일주일이면 만들었어요. 여기에 Hotwire Native 를 붙이면 웹과 앱을 한 사람이 같이 맡을 수 있어요.
레일즈 개발자는 나중에 구할 수 있냐는 질문도 많이 받아요. 레일즈로 만들면 나중에 개발자 구할 수 있나요?에 솔직하게 답했어요.
플러터나 리액트 네이티브가 맞는 경우도 있어요. 화면 대부분이 복잡한 애니메이션이나 기기 기능으로 채워진 앱이에요. 그때는 위의 받아 둘 것 목록을 계약 단계에서 챙기세요.
헤이제임스는 어떻게 만드나요
레일즈로 모바일 웹을 먼저 만들고, 필요하면 앱으로 감싸요.
- 소스코드와 저작권 전부, 서버 · 도메인 계정까지 대표님 명의로 넘겨요.
- 특정 플랫폼에 묶이지 않는 표준 코드라 다른 개발자에게 넘겨도 그대로 읽혀요.
- 직접 이어가기 어려우면 연 단위 유지보수 계약으로 이어가요. 계약이 끝나면 인수인계 문서를 드려요.
만들고 싶은 서비스가 4시간 안에 되는 분량인지 셀프 견적에서 확인할 수 있어요. 스토어에 올리는 준비는 앱 출시 준비 가이드에 있어요.
이 글은 유튜브 영상 세 편을 바탕으로 썼어요.
- 스타트업 멘토링 EP4 — 플러터로 만들었는데 자금도 떨어지고 개발팀도 정리한 사연
- 웹앱 하나로 iOS · 안드로이드까지 — Hotwire Native
- 네이티브앱 · 하이브리드앱 · 크로스플랫폼, 어떤 것으로 개발해야 할까?
쓴 사람 — 제임스
연세대 컴퓨터과학을 전공한 23년차 개발자예요. 개발 에이전시를 운영하며 스타트업 플랫폼 350개를 만들었고, 개발자 100명을 채용했어요. 네이티브 · 크로스플랫폼 · 하이브리드를 모두 써 본 뒤 하이브리드로 정착했어요.