PWA 란?
개념
한문장으로 정의하자면, iOS, Android Native App 처럼 동작되는 웹 사이트 입니다.
모바일 앱처럼 동작하려면 service workers, manifests와 web-platform api를 혼합해서 만들어야 합니다.
100% 모바일 앱처럼 동작되진 않지만, 앱다운 웹사이트를 만들 수 있습니다. 예를 들면, 홈 스크린에 아이콘을 추가할 수 있고, 카메라를 사용 할 수 있고 , push notification을 받을 수 도 있습니다. 이런 특징들로 인하여 Progressive Web App이라고 칭하는거 같습니다.
장점
PWA는 유저들에게 엄청난 이점을 가져다 줍니다.
App 설치 필요 없음
앱을 설치 하지 않아도 된다는 장점이 무엇보다 가장 큽니다. 앱 하나가 엄청나게 용량을 많이 차지 하고 있으면 부담 스럽죠;; 홈 스크린에 native app처럼 아이콘을 추가 할 수 있어, 브라우저를 통하지 않고 바로 접근이 가능하여, 웹사이트의 진입 장벽을 최소화 되었습니다.
이러다 보니 인앱 결제가 필요없고 수수료도 낼 필요가 없겠네요 :)
Offline에서도 동작 가능
offline 기능도 구현할 수 있어, network가 불안정한 상황에서도 앱을 사용 할 수 있습니다.
반응형 페이지 지원
반응형으로 개발되었기 때문에 desktop, tablet, phone 여러 장비에서도 브라우저만 있다면 원하는 서비스를 이용 할 수 있습니다.
SEO로 인한 고객 유입
웹 싸이트이다 보니 SEO를 적용할 수 있어, 외부에 쉽게 노출되어 잠제적인 고객을 만드는데 유리합니다.
단점
반면 단점도 있습니다. 이 단점이 너무나 큽니다.
OS에서 API를 제공 해주지 않으면 Native App처럼 기능을 추가할 수 없습니다. iOS가 Android에 비해 폐쇄적입니다. 그럴만 하다고 봅니다.
아래의 영상에서 자세히 설명해주고 있습니다.
10 Things You Didn't Know JavaScript Can Do