-> 소프트웨어 앱을 만드는 강력한 방식!
-> 기능이 많다
안드로이드나 아이폰처럼 특정 플랫폼에서 동작하는 네이티브 앱은 플랫폼에서 제공하는 다양한 API를 이용,
사용자에게 다양한 기능을 제공
-> 접근성 떨어짐
앱스토어에서 다운받아야 하며 그 플랫폼에서만 사용 가능
-> 접근성 좋음
브라우저만 있으면 사용 가능
-> 기능성 떨어짐
플랫폼 자체의 API사용 불가
ㅇ Web app 장점(접근성) + native apps 장점(플랫폼 API사용)
웹코드로 어플 만들 때 장점
- SDK 별도 필요 없음
- 재배포시 복잡하지 않은 절차
- 다양한 플랫폼 출시 가능
조건(1) responsive web design
조건(2) service workers 사용
조건(3) app manifest 사용
조건(4) push notification 사용
조건(5) native app-like capabilities
조건(6) 사용자의 디바이스에 설치 가능
사용 예시: youtube, safari, twitter, airbnb, facebook....
Project Fugu
-> 구글, 마소, 인텔 합작 프로젝트
-> web capabilities project
(1) 새롭게 추가되는 브라우저 api들은 특정/예전 브라우저에서 사용 불가
(2) 파이어폭스는 데스크탑용 브라우저에서 pwa 지원하지 않음
(3) 앱스토어는 수익 관련 문제로 pwa 거부 중
(safari 통해 설치 가능)
(4) 네이티브 앱처럼 모든 플랫폼 api사용은 안됨
(1) 웹 코드로 만든 웹사이트나 웹 app
(2) 보안을 위해: https로 서비스 제공해야 함
(3) app manifest필요(json포맷의 text파일)
(4) service worker: js로 작성. 서버와 데이터를 주고받을 때 중간에서 모든 요청을 통제, 관리. 특정 네트워크 요청과 반응에 한해서, 어떤 데이터 저장했다가 오프라인 상태일 때 보여주는 성능의 어플을 만들기 위해 사용 가능.