Dev Note

PWA냐 네이티브냐 — 1인 개발 관점의 선택 기준

"앱을 만들려면 뭘로 만들어야 하나요?"라는 질문에 대한 정답은 팀 규모에 따라 다릅니다. 이 글은 혼자 만들고 혼자 운영하는 1인 개발 관점에서 PWA(웹앱)와 네이티브 계열(Flutter 등 크로스플랫폼 포함)을 비교합니다. 저희는 두 방식 모두로 제품을 출시해 봤습니다. 쿠폰북은 PWA+TWA로, 라이트온 AI 노트는 Flutter로 만들었습니다.

비교 기준은 '만드는 비용'이 아니라 '유지하는 비용'

1인 개발의 병목은 첫 출시가 아니라 그 이후입니다. 앱이 3개, 5개로 늘어나면 유지보수 시간이 전부를 결정합니다. 그래서 비교 축을 이렇게 잡았습니다.

기준PWA (+TWA)Flutter 네이티브
업데이트 배포웹 배포 즉시 반영. 스토어 재심사 불필요매번 스토어 심사 통과 필요
플랫폼 커버리지웹·안드로이드는 강함. iOS는 설치 UX가 약함iOS·안드로이드 동등하게 강함
기기 기능 접근카메라·위치·알림 등 표준 API는 충분. 통화·백그라운드 등 깊은 기능은 제한사실상 전부 접근 가능
성능 체감도구 앱 수준에서는 차이 없음애니메이션 무거운 화면에서 우위
빌드 인프라없음(정적 호스팅이면 끝)SDK·서명·스토어 파이프라인 유지 필요

PWA를 고르는 경우

기록·조회 중심의 도구 앱이라면 PWA가 압도적으로 유리합니다. 쿠폰북이 전형적인 예입니다. 데이터는 IndexedDB에 로컬 저장하고, 서비스 워커로 오프라인을 지원하고, 스토어 노출이 필요해지면 TWA로 감싸면 됩니다. 무엇보다 버그 수정이 웹 배포 한 번으로 모든 사용자에게 즉시 반영된다는 점이 1인 운영에서는 결정적입니다.

네이티브(Flutter)를 고르는 경우

다음 중 하나라도 해당하면 네이티브로 갑니다. ① 통화, 백그라운드 오디오, 위젯, 시스템 연동처럼 웹이 닿지 못하는 기능이 핵심일 때 ② iOS 사용자가 주 타깃일 때(iOS의 PWA 설치 경험은 여전히 불친절합니다) ③ 오프라인에서 무거운 미디어 처리가 필요할 때. 모모아이가 통화라는 시스템 기능을 다루기 때문에 네이티브 계열인 것이 그 예입니다.

실무 요약

  • 확신이 없으면 PWA로 시작하세요. 검증에 실패해도 매몰 비용이 가장 작고, 성공하면 TWA로 스토어 진출이 가능합니다.
  • 시스템 기능(통화·백그라운드·위젯)이 제품의 핵심이면 처음부터 네이티브로 가세요. 나중에 갈아타는 비용이 더 큽니다.
  • 어느 쪽이든 데이터 계층을 UI에서 분리해 두면, 훗날 스택을 옮겨도 도메인 로직은 재사용됩니다.
← 블로그 목록으로