PWA(Progressive Web App)
: 사용자가 모바일 앱처럼 사용할 수 있는 웹 사이트
- 웹 기술(HTML, CSS, Javascript)로 모바일 네이티브 앱과 비슷하게 만들 수 있는 기술
PWA의 주요 특징
- 진보적(Progressive)
- 브라우저에 기능에 따라 작동하며, 최신 브라우저에서는 추가 기능을 제공
- 반응형(Responsive)
- 모든 디바이스(모바일, 태블릿, 데스크톱 등)에서 적절히 작동
- 앱 같은 사용자 경험(App-like Experience)
- 네이티브 애플리케이션과 유사한 UI/UX 제공
- 앱스토어 없이 홈 화면에 설치 가능
- 오프라인 기능(Offline Functionality)
- Service Worker를 사용해 네트워크 상태와 관계없이 작동 가능
- 캐싱된 데이터를 통해 오프라인에서도 콘텐츠를 제공
- 푸시 알림(Push Notifications)
- 네이티브 앱처럼 푸시 알림을 지원
- 보안(Secure)
- HTTPS에서 실행되며, 이를 통해 데이터 보안을 강화
- 자동 업데이트(Self-updating)
- 배포가 간단하며, 사용자는 항상 최신 버전을 사용
PWA의 주요 구성 요소
- Service Worker
- 백그라운드에서 네트워크 요청을 처리하고 캐시를 관리하는 JavaScript 파일
- 기능
- 오프라인 지원
- 캐싱 관리
- 푸시 알림 처리
- Manifest 파일 (manifest.json)
- PWA의 메타데이터를 정의(이름, 아이콘, 시작 화면 설정, 테마 색상 등)
{ "name": "My PWA", "short_name": "PWA", "start_url": "/", "display": "standalone", "background_color": "#ffffff", "theme_color": "#000000", "icons": [ { "src": "/icon.png", "sizes": "192x192", "type": "image/png" } ] }
- PWA의 메타데이터를 정의(이름, 아이콘, 시작 화면 설정, 테마 색상 등)
- HTTPS
- PWA는 보안 연결을 요구하며, 반드시 HTTPS로 제공되어야 함
PWA의 장점
- 다양한 기기 호환
- 하나의 코드베이스로 모든 플랫폼에서 작동
- 빠른 로딩 속도
- Service Worker를 통해 캐시된 콘텐츠를 제공
- 앱스토어 의존성 제거
- 앱스토어 없이 배포 가능하며, 업데이트도 간편
- 비용 절감
- 네이티브 앱을 별도로 개발하지 않아도 됨
- SEO 친화적
- 웹의 특성을 이용해 검색 엔진에 노출 가능
PWA의 단점
- 제한된 기능
- 일부 네이티브 기능(ex. 블루투스, NFC, 고급 센서 접근 등)은 브라우저에서 지원하지 않을 수 있음
- 앱스토어 노출 부족
- 앱스토어에서 검색되지 않아 다운로드 유도 경로가 제한적
- iOS 지원 제한
- 일부 PWA 기능(ex. 푸시 알림)이 iOS에서 제한적으로 지원
프로그레시브 웹 앱 소개 - 프로그레시브 웹 앱 | MDN
page(Doc) not found /ko/docs/Web/Apps/Progressive
developer.mozilla.org
Learn PWA | web.dev
A course that breaks down every aspect of modern progressive web app development.
web.dev
프론트엔드 개발자가 PWA 알아야 하는 이유 | 요즘IT
PWA란 프로그레시브 웹 앱(Progressive Web Apps)의 줄임말로, 모바일 기기에서 네이티브 앱(Native App)과 같은 사용자 경험을 제공하는 웹 앱입니다. 이는 기존의 전통적인 웹 앱과는 달리 네이티브 앱과
yozm.wishket.com