PWA(Progressive Web App, Progressive Web App)는 웹 애플리케이션과 네이티브 애플리케이션의 장점을 결합한 웹 기술을 사용하여 개발된 애플리케이션입니다. PWA는 특정 플랫폼이나 운영체제에 의존하지 않고 브라우저를 통해 직접 접속할 수 있으며 오프라인 접속, 푸시 알림, 백그라운드 실행 등 네이티브 애플리케이션의 기능을 갖고 있다. PWA는 일련의 웹 표준을 기반으로 하며 다음은 주요 표준 중 일부입니다.
Service Worker Service Worker: Service Worker는 PWA의 핵심 기술 중 하나이며 웹과 독립적으로 실행되는 JavaScript 스크립트입니다. 페이지이며 오프라인 캐싱, 푸시 알림 및 기타 기능을 구현하는 데 사용됩니다.
Web App Manifest 웹 앱 매니페스트: Web App Manifest는 애플리케이션 이름, 아이콘, 시작 방법 등과 같은 PWA의 메타데이터 정보를 설명하는 데 사용되는 JSON 파일입니다.
HTTPS 보안 프로토콜: PWA의 보안을 보장하려면 통신에 HTTPS 프로토콜을 사용해야 합니다. 이는 사용자의 데이터와 개인 정보를 보호하고 보다 안전한 액세스 환경을 제공합니다.
IndexedDB 오프라인 데이터 저장: IndexedDB는 클라이언트에 대량의 구조화된 데이터를 저장하는 기능을 제공하고 오프라인 액세스를 지원합니다.
웹 푸시 푸시 알림: PWA는 푸시 API 및 푸시 서비스를 사용하여 사용자가 앱에 없을 때에도 사용자에게 푸시 알림을 보낼 수 있습니다.
App Shell 앱 셸 모드: App Shell은 애플리케이션의 핵심 인터페이스와 기능을 로컬로 캐시하여 애플리케이션을 오프라인으로 빠르게 로드하는 방법입니다.
이러한 표준과 기술이 함께 PWA의 기반을 형성하여 개발자가 기본 애플리케이션과 유사한 경험을 갖춘 웹 애플리케이션을 만들 수 있도록 합니다. PWA를 사용하면 사용자는 브라우저의 기본 앱인 것처럼 애플리케이션에 액세스하고 오프라인 액세스, 빠른 로딩, 푸시 알림과 같은 기능을 즐길 수 있습니다.