Appearance
PWA (Progressive Web App)
PWA는 "웹을 앱처럼 보이게 만드는 단일 기술"이 아니라, 웹 애플리케이션을 더 설치 가능하고 신뢰성 있게 만들기 위한 기능 조합을 뜻한다.
즉, 웹의 URL 접근성과 앱에 가까운 사용자 경험을 함께 노리는 접근이다.
핵심 요소
HTTPSWeb App ManifestService Worker- 반응형 UI
- 오프라인/저속 네트워크 대응
각 기술의 역할
Web App Manifest
manifest는 앱 이름, 아이콘, 시작 URL, display 모드 같은 설치 메타데이터를 제공한다.
즉, "검색 가능하게 만드는 파일"이라기보다 설치와 홈 화면 통합에 필요한 정보를 제공하는 파일에 가깝다.
Service Worker
service worker는 네트워크 요청을 가로채 캐싱, 오프라인 대응, 백그라운드 작업 같은 기능을 구현할 수 있게 해준다.
다만 서비스 워커를 등록했다고 해서 자동으로 오프라인이 되는 것은 아니고, 어떤 자원을 어떻게 캐시할지 직접 전략을 설계해야 한다.
PWA의 장점
프로그레시브브라우저가 지원하는 기능 범위 안에서 점진적으로 향상된다.설치 가능성앱스토어 없이도 홈 화면/앱 목록에 추가할 수 있다.연결 복원력적절히 설계하면 오프라인 또는 불안정한 네트워크에서도 일부 기능을 제공할 수 있다.공유와 배포의 단순함URL만으로 배포와 공유가 가능하다.
자주 헷갈리는 점
검색 가능성은 왜 생기나?
PWA라서 검색되는 것이 아니라, 웹 페이지이기 때문에 URL로 접근 가능하고 크롤링 가능한 콘텐츠를 제공할 수 있어서 검색될 수 있다.
manifest나 service worker가 검색 엔진 최적화를 대신해주지는 않는다.
푸시 알림은 항상 가능한가?
아니다.
PWA는 푸시 알림을 지원할 수 있지만, 브라우저/OS별 지원 범위가 다르다. 따라서 "PWA = 모든 플랫폼에서 동일한 푸시 지원"이라고 보면 안 된다.
요약
- PWA는 웹 앱을 더 앱답게 만드는 접근 방식이다.
- manifest는 설치 메타데이터, service worker는 캐시/오프라인/백그라운드 기능의 핵심이다.
- 검색 가능성은 웹의 URL 구조와 크롤링 가능한 콘텐츠에서 나온다.