잡다한 교훈

PWA (Progessive Web APP)

콘요맘떼 2022. 4. 18. 17:26

PWA (Progressive Web APP)

  웹 앱과 네이티브 앱은 각자의 장점을 가진다. 웹 앱은 사용자에게 노출의 측면에서 접근성이 좋다는 장점을 가진다. 반면 네이티브 앱은 해당 OS에 최적화된 부드러운 사용자 경험을 제공해줄 수 있다. 또한 설치된 이후에는 오프라인에서도 동작할 수 있다. 2016년 구글이 새롭게 소개한 기술인 PWA는 두 가지 장점이 동시에 결합된 웹 앱을 구현할 수 있게 해 준다. 보다 정확히 표현하자면 PWA는 새로운 기술이라기 보다는 기존 시스템들의 장점이 결합된 새로운 형태의 애플리케이션을 구축하는 하나의 철학이라고 표현할 수 있다. 

 

PWA의 조건 및 기능

  어떠한 웹 앱이 PWA인지 판단하는 데 절대적인 지표는 존재하지 않는다. 그러나 다음과 같은 핵심적인 조건들이 충족되었을 때 우리는 해당 웹 애플리케이션을 PWA라고 간주한다. (괄호친 내용은 해당 특성이 웹 애플리케이션 혹은 네이티브 애플리케이션의 원래 장점임을 의미)

(1) 발견 가능 : 검색 엔진을 통해 찾을 수 있음 (웹)

(2) 설치 가능 : 홈 화면의 아이콘을 통해 사용 가능 (네이티브)

(3) 연결 가능 : 간단하게 URL 통해 공유 가능 (웹)

(4) 네트워크 독립적 : 오프라인에서 네트워크 상태가 불안해도 사용 가능 (네이티브)

(5) 재참여 가능 : 새 컨텐츠가 이용 가능할 때마다 푸쉬 알람 전송 가능 (네이티브)

(6) 반응형 : 모든 기기 및 브라우저 환경에서 사용 가능 (네이티브)

(7) 안전 : 앱과 사용자 사이의 제3자로부터 민감한 데이터를 보호할 수 있어야 한다.

 

PWA의 장점

(1) Service Workers API를 통해 캐싱을 수행함으로써 설치 후 로딩으로 인한 시간과 데이터를 절약한다.

(2) 업데이트가 있을 때 변경된 부분만을 갱신할 수 있다. (네이티브 앱의 경우 업데이트가 있을 때마다 어플을 통째로 재설치해야됨)

(3) 홈 화면의 아이콘, 전체화면 실행 등 플랫폼에 최적화된 앱을 제공한다.

(4) 알림 및 푸쉬 메시지를 통해 사용자와의 인터렉션을 상승시킨다.