솔직히 작년까지만 해도 PWA는 "그냥 웹사이트 아닌가?" 하고 무시했다. 근데 최근 사내 프로젝트에서 앱 대신 PWA로 가기로 결정했는데, 써보고 나서 생각이 좀 바뀌었다.
2026년 기준으로 PWA가 어디까지 왔는지, 그리고 진짜 네이티브 앱 대신 쓸 수 있는 수준인지 실제 경험을 정리해봤다.

PWA가 이제 진짜 앱처럼 느껴지는 이유
예전엔 iOS 지원이 PWA의 발목을 잡았다. 푸시 알림도 안 되고, 홈 화면 추가도 어색했고. 근데 iOS 16.4 이후로 이게 많이 달라졌다. 푸시 알림이 정식 지원되고, Service Worker도 제대로 동작한다.
직접 프로젝트에 적용해봤을 때 가장 놀랐던 건 오프라인 동작이다. 네트워크 없어도 앱이 그냥 열리고, 데이터도 캐시에서 불러온다. 사용자가 "이거 앱 아니야?"라고 물어볼 정도였다.
2026년 현재 PWA가 지원하는 기능들:
- 홈 화면 설치 (iOS, Android, 데스크톱 모두)
- 오프라인 동작 (Service Worker + Cache API)
- 푸시 알림 (iOS 16.4+ 포함)
- 백그라운드 동기화
- 배지 알림
- WebAuthn / FIDO2 인증

네이티브 앱이랑 뭐가 다른가
결론부터 말하면, 일반적인 B2B 업무 앱은 PWA로 충분하다. 고성능 그래픽이나 복잡한 하드웨어 접근이 필요한 게 아니라면.
비용 차이가 꽤 크다. 네이티브 앱을 iOS/Android 따로 만들면 개발 리소스가 2배인데, PWA는 하나로 끝난다. 실제로 엔터프라이즈 프로젝트에서 40~70% 비용 절감 사례가 나오고 있다. 우리도 이번에 앱스토어 배포 없이 바로 배포하니까 심사 기간이 없어서 훨씬 빠르게 움직일 수 있었다.
그렇다고 PWA가 만능은 아니다. AR/VR, 블루투스 연동, NFC 같은 하드웨어 접근은 여전히 네이티브가 필요하다. 게임처럼 60fps를 꽉꽉 써야 하는 것도 WebAssembly로 어느 정도 커버되지만, 최적화된 네이티브 코드엔 아직 못 미친다.

실제 구축하면서 느낀 것들
Vite + React로 PWA를 만들 때 vite-plugin-pwa 하나면 Service Worker 설정이 거의 자동이다. manifest.json 작성하고, 아이콘 몇 개 준비하면 설치 가능한 앱이 된다. 생각보다 진입 장벽이 낮았다.
한 가지 아쉬운 건 iOS에서 홈 화면 추가 유도 UI다. Android는 브라우저가 자동으로 "설치하시겠어요?" 배너를 띄워주는데, iOS는 사파리 공유 버튼에서 직접 해야 한다. 사용자한테 설명이 필요하다. 이 UX 마찰이 생각보다 크다.
전체적으로는 "이 정도면 앱이네"라는 생각이 드는 수준에 왔다. 특히 업무용 내부 툴이나 B2B SaaS라면 네이티브 앱 대신 PWA를 먼저 검토해볼 만하다.

📎 참고 자료
'web' 카테고리의 다른 글
| JS 프로젝트에 TypeScript 얹어봤더니 이랬다 (0) | 2026.03.24 |
|---|---|
| Node.js 24 올려보고 달라진 게 있었다 (0) | 2026.03.23 |
| CSS Interop 2026 완벽 가이드 — 앵커 포지셔닝·스크롤 애니메이션·크로스 브라우저 호환성 완전 정복 (0) | 2026.03.21 |
| Tailwind CSS v4.1 완벽 가이드 2026 — text-shadow·mask 신규 유틸리티·CSS-first 설정 완전 정복 (0) | 2026.03.20 |
| React 19 성능 최적화 완벽 가이드 2026 — React Compiler·Server Components·스트리밍으로 INP 완전 정복 (1) | 2026.03.19 |