11. Fast
시간은 돈이다!
● 53%의 사용자가 3초
로드가 걸리면 서비스를
포기하고 이탈한다.
https://wordpressmaintenancetips.tk/wp-experts/wordpress-multisite-velocity-overview-at-philadelphia/
12. Integrated
● 모바일 앱 사용자 경험
● 결제, 로그인, 미디어 재생 등이 사용자의
기기에서 자연스럽게 느낄 수 있어야 한다.
13. ● 웹 앱 매니페스트는 사용자가 앱을
볼 것으로 예상되는 영역에 어떻게
보이게 할 것인가를 개발자가
제어할 수 있는 JSON 파일
Web App Manifest
14. Web App Manifest
● name: icon에 표시되는 이름
● start_url: 실행 시 시작되는 url 주소
● display: 앱이 어떻게 실행될지 정하는
속성
○ fullscreen, standalone, browser 등
● orientation: 웹 앱의 화면 방향
○ any, landscape, portrait
● icon: 아이콘 이미지 및 크기
15. Payment Request API
● 브라우저가 판매자, 사용자, 결제 방법 사이에서
중재자 역할을 하도록 지원
● 결제 커뮤니케이션 흐름을 최대한 표준화
● 다양한 보안 결제 방법을 원활하게 지원
● 모든 브라우저, 기기 또는 플랫폼에서 작동
16. Payment Request API
● 지불 방법
○ 신용카드, android pay …
● 트랜젝션 정보
○ 거래 금액, 통화액
● 옵션
○ 배송 방법, 배송지
21. Proprietary + Confidential
서비스 워커 생명주기
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Idle
Register
Error
Install
Activated
Active
Terminated
22. // 서비스 워커 등록
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js')
.then(reg => console.log('Service Worker Registered', reg))
.catch(err => console.log('Error registing Service Worker', err))
}
23. Proprietary + Confidential
서비스 워커 생명주기
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Idle
Register
Error
Install
Activated
Active
Terminated
24. // 설치 후 리소스 캐싱
var cacheName = 'app-shell-cache-v1';
var filesToCache = ['/', '/index.html', '...'];
self.addEventListener('install', event => {
event.waitUntil(
caches.open(cacheName).then(cache => {
return cache.addAll(filesToCache);
}).then(() => {
return self.skipWating();
})
);
});
25. Proprietary + Confidential
서비스 워커 생명주기
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Idle
Register
Error
Install
Activated
Active
Terminated
42. ● wego, expedia, trivago와 같은 여행업
● infobae forbes와 같은 출판사
● fandango, alibaba, rakuten과 같은 전자 상거래 서비스
● uber와 같은 승차 공유 서비스
● twitter와 같은 소셜네트워크 서비스
44. - Chrome 확장프로그램
- 커맨드 라인에서, 노드 모듈에서
프로그램으로도 사용 가능
- Lighthouse에 확인할 URL을 지정하고,
페이지에 대한 테스트를 실행한 다음,
페이지에 대한 보고서를 생성
- 여기에서 실패한 테스트는 앱을 개선하기
위해 할 수 있는 것에 대한 지표로 사용
웹 앱의 품질을 측정하는
오픈소스 자동화 도구
46. Angular
● Angular CLI를 이용하여 프로젝트에 PWA
적용
○ sudo npm i @angular/cli -g
○ ng new my-pwa
○ ng add @angular/pwa
○ ngsw-config.json, manifest.webmanifest
파일 등 PWA에 필요한 파일 자동 생성
47. React
● create-react-app을 이용하여 프로젝트를 생성하면 설정하기 쉬움
● manifest.json, serviceWorker.js 파일 등 PWA에 필요한 파일을 직접 작성
● 혹은 pwa-manifest-cli 설치 후 자동 생성/수정
48. Vue
● Vue CLI를 이용하여 프로젝트에 PWA 적용
○ WorkBox 라이브러리 기반
○ vue create my-pwa
○ vue add @vue/pwa
○ manifest.json, registerServiceWorker.js 파일
등 PWA에 필요한 파일 자동 생성
49. 참고 리소스
● 다양한 예제, 코드랩, 이론 설명등이 있습니다.
● MDN PWA (https://developer.mozilla.org/ko/docs/Web/Progressive_web_apps)
● Google developers PWA(https://developers.google.com/web/fundamentals/codelabs/your-first-pwapp/?hl=ko)