Skip to content

PWA (Progressive Web App)

PWA는 "웹을 앱처럼 보이게 만드는 단일 기술"이 아니라, 웹 애플리케이션을 더 설치 가능하고 신뢰성 있게 만들기 위한 기능 조합을 뜻한다.

즉, 웹의 URL 접근성과 앱에 가까운 사용자 경험을 함께 노리는 접근이다.


핵심 요소

  • HTTPS
  • Web App Manifest
  • Service 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 구조와 크롤링 가능한 콘텐츠에서 나온다.