PWA vs React Native, 어떤 게 좋을까?

밍구 ·2025년 3월 17일

여로

목록 보기
4/5

2025년의 공모전을 준비하며,
주제와 기능정의를 끝내고 도대체 이 기능을 어떻게 풀이하면 좋을까? 라는 고민에 도착했다.


기존의 공모전을 목표로 준비하던 앱을 갈아엎고,
유저의 사진을 사용한다라는 핵심 기능이 생김으로써 스택의 변화가 필수 불가결해졌다.

프론트엔드 기준으로 PWA와 React Native 중 어떤 방식을 선택할지 고민했다. 최종적으로 React Native를 선택했다. 왜 React Native가 더 적합했는지 정리해보려고 한다.


1. PWA와 React Native 비교

📌 PWA (Progressive Web App)

PWA는 웹 기술을 사용해 앱처럼 동작하는 방식이다. URL을 통해 설치 없이 바로 실행할 수 있으며, 웹과 앱의 장점을 결합한 형태다.

장점

  • 브라우저 기반이므로 설치 없이 사용 가능
  • 개발 및 유지보수가 간단하고 비용이 저렴
  • 웹과 모바일을 동시에 지원 가능 (한 번 개발로 다양한 기기 대응 가능)
  • 배포가 쉬움 (앱스토어 등록 필요 없음)

단점

  • iOS에서 기능 제한이 많음 (파일 저장, 푸시 알림, 백그라운드 작업 등)
  • 성능이 네이티브 앱보다 낮음
  • 앱스토어 정식 등록 불가능 (앱처럼 보이지만 사실상 웹사이트)
  • 오프라인 지원이 제한적 (캐싱 필요)

📌 React Native

React Native는 하나의 코드베이스로 iOS와 Android 네이티브 앱을 개발할 수 있는 프레임워크다.

장점

  • 앱스토어 & 플레이스토어 정식 등록 가능
  • 네이티브 기능(카메라, 저장소, 푸시 알림 등) 활용 가능
  • 성능이 PWA보다 뛰어남
  • 한 번 개발로 iOS & Android 지원 가능 (코드 재사용 가능)

단점

  • PWA보다 개발 비용과 시간이 더 소요됨
  • 앱스토어 심사를 통과해야 배포 가능 (시간이 걸릴 수 있음)
  • 웹과 완전히 동일한 경험을 제공하기 어려움 (별도 웹버전 필요)


2. React Native 선택 이유

처음에는 PWA로 개발하면 배포가 편리하고 웹과 모바일을 동시에 지원할 수 있어서 매력적이었다. 하지만 사진 저장과 관리라는 주요 기능을 고려했을 때, PWA에는 몇 가지 결정적인 한계가 있었다.

🚨 PWA의 한계

  • iOS에서는 파일 저장 기능이 제한됨 → 사진을 로컬에 저장하거나 클라우드와 연동하는 것이 어려움
  • 네이티브 기능(카메라, 푸시 알림 등) 지원 부족 → 앱의 핵심 기능을 제대로 구현하기 어려움
  • 앱스토어 배포 불가능 → 사용자가 직접 설치해야 하므로 접근성이 떨어짐

✅ React Native의 장점

  • 앱스토어 정식 배포 가능 → 사용자가 익숙한 방식으로 앱을 설치할 수 있음
  • 파일 저장 및 네이티브 기능 활용 가능 → 사진 저장, 푸시 알림 등의 기능을 문제없이 구현 가능
  • 퍼포먼스가 더 뛰어남 → 이미지 로딩 속도, 오프라인 저장 기능 등을 최적화할 수 있음


3. 결론: React Native + 클라우드 스토리지 + (로컬?)

결국 React Native + 클라우드 스토리지(AWS S3, Firebase Storage) 조합이 가장 적합한 선택이었다.

📌 React Native로 앱을 개발하면 → 앱스토어 & 플레이스토어 배포 가능 + 네이티브 기능 활용 가능
📌 클라우드 스토리지를 활용하면 → 대용량 사진 저장 가능 + 기기 변경에도 데이터 유지 가능

PWA는 앱스토어 배포가 필요 없는 간단한 웹 서비스라면 좋은 선택이지만, 네이티브 기능을 활용해야 하거나 앱스토어에 등록하려면 React Native가 더 적합하다.

📢 앱 개발을 고민하는 사람이라면, 앱의 핵심 기능이 무엇인지 고려하여 개발 방식을 선택하는 것이 중요하다!

배포의 여부에 따라서도 결정이 달라질 수 있었으나, 우리는 최종적으로 배포를 해서 출시를 하는 것이 목표이다보니 이런 결과를 만들어내게 된 것 같다.

profile
https://jrzzzing.tistory.com/ 로 옮길 예정입니다! (~2025.06)

0개의 댓글