PWA(Progressive Web App)
PWA(Progressive Web App)
PWA(Progressive Web App) 이란?
- 모바일 기기에서 네이티브 앱과 같은 사용자 경험을 제공하는 웹 앱
- 전통적인 웹 앱의 한계에서 벗어나 네이티브 앱과 유사한 기능을 제공할 수 있음
- 사용자가 앱을 다운로드 하거나 업데이트할 필요 없이 브라우저를 통해서 바로 사용 가능
- HTML, CSS, JS와 같은 웹 기술들을 활용하여 네이티브 앱 수준으로 진화된 웹 앱
왜 인기를 얻게 되었는가?
- 웹의 기술 발전을 한 곳으로 수렴시키는 최신 웹 애플리케이션 개발 방법
- 웹이지만 데스크톱이나 모바일 환경에 설치가 가능하고 앱과 유사한 사용자 경험을 제공해주는 웹 앱
- 앱 개발 생산성 극대화
- 각 네이티브 앱에 대한 기술이 전혀 요구되지 않는 웹 기술을 이용하여 다양한 플랫폼에서 동작하는 설치형 앱을 빠르게 개발 가능
- 스토어에서 설치될 필요가 없기 때문에, 심사 과정에 들어가는 비용이 절감됨
- 검색 엔진을 통한 유입
- 검색엔진을 통해서 검색이 용이하며, 사용자의 유입을 기대해볼 수 있음
- 푸시 알림 지원
- 저속도 네트워크 환경, 오프라인 동작 지원
Service Worker
덕분에 앱 동작에 필요한 asset들과 일부 API call들에 대한 캐싱이 가능해지게 됨
- 🌟 기대 효과
- 페이지 뷰의 증가
- 이탈률 감소
- 재방문 증가
- 상호작용률 증가
- 로딩 시간 감소
그럼에도 불구하고, 여전히 Native 급의 성능을 보장하진 않기 때문에 게임과 같은 고사양의 앱 개발이 불가능하다는 단점도 존재합니다
PWA의 조건
- 검색 가능 (Discoverable)
- 컨텐츠를 검색엔진을 통해서 찾을 수 있어야 함
- 설치 가능 (Installable)
- 기기의 홈 화면이나 앱 런처에서 사용할 수 있어야 함
- 연결 가능 (Linkable)
- URL을 통해서 공유할 수 있어야 함
- Progressively enhanced
- 최신 브라우저에서는 모든 기능을 사용할 수 있어야하고
- 구형 브라우저에서는 기본적인 기능은 사용할 수 있게 만들어져야한다.
- Re-engageable
- 새 컨텐츠가 사용 가능할 때마다 알림을 보낼 수 있어야 함
- e.g.) push 알림
- 반응형 (Responsively designed)
- 스크린과 브라우저를 탑재한 모든 장치에서 사용할 수 있어야 함
- 안전 (Secure)
- 사용자, 앱, 서버간의 연결은 민감한 데이터에 대해서
- 접근을 시도하는 모든 제3자에 대해서 안전해야한다
- PWA는 https 연결만 허용하기 때문에, 이와 같은 문제를 해결한다
This post is licensed under CC BY 4.0 by the author.