ݺߣ

ݺߣShare a Scribd company logo
TheFutureofWeb‒ProgressiveWebApp
1
목차
1.PWA소개
2.PWA배경
3.PWA특징
4.PWA사례
AliExpress
CarnivalCruiseLine
SolutionPortal
5.PWA기술
WepAppManifest(Icon,Banner)
ServiceWorker(Cache,WebPush)
6.참고자료
2
프로필
CaptainPangyo
OpenSourceContributor
GoogleWebFundamentals(TheFundamentalKnowledgeforWeb)
GoogleHTML5Rocks(TopNotchResourcesforWebDeveloper)
GoogleDeveloperGroup‒WebTech커뮤니티리더
3
PWA소개
"ProgressiveWebAppsareexperiencesthatcombinethebestofthewebandthe
bestofapps"‒최고의모바일앱과최고의웹앱을결합한경험
4
ProgressiveWebApps는무엇인가?
진보한웹앱
최신웹기술들로웹앱에서도모바일앱과같은사용자경험을느낄수있는웹앱
빌드X,배포X,설치O,오프라인O,알람O...
최적화된웹성능에모바일Native기능을결합한최신웹앱
5
PWA등장배경
Mobile기기확산으로Mobile사용자증가:PC‒>Mobile브라우저
양분화된어플리케이션시장과개발자의고민:Web,Mobile,Hybrid앱
Hybrid앱의단점:NativeUI의성능을따라가기가어려움
번거로운Mobile앱개발주기:앱개발,빌드,배포,검색,다운로드,설치
OfflineWebApp의필요성:느린인터넷의보급으로MobileWeb의사용성저하
6
PWA기술특징
Responsive:PC,Mobile,Tablet에관계없이해당기기에최적화된UI
7
Connectivity:저속의네트워크환경,오프라인환경에서도사용가능
8
App‒like:MobileApp과동일한실행방식(icon)과사용자인터랙션(UX)을제공
9
Discoverable:URL로사이트접근후원클릭설치가능(banner)
10
Engageable:Push알람으로사용자의재방문유도가용이
11
Safe:HTTPS통신으로기밀정보의유지가가능
12
PWA적용사례
Alibaba
전세계최대규모의B2B전자상거래시스템
Add‒HomeScreen기능으로모바일ActiveUsers44%증가
CaseStudy자료
13
CarnivalCruiseLine
세계10대크루저여행사
Web&MobilePush알람을이용하여결제전환율48%증가
CaseStudy자료
14
SolutionPortal
포스코ICT기반솔루션(Glue,GlueMobile,Posbee)기술질의게시판
WebPush알람을이용한기술질의응답속도3배증가
15
기존SolutionPortal의문제점
Mobile기기미지원:Mobile게시글확인및솔루션홍보에부적절
실시간게시글확인미지원:고객의게시글여부를Manual하게일일이확인해야함
16
PWA를적용한SolutionPortal
Responsive:반응형웹디자인을적용한Mobile기기지원
17
PWA를적용한SolutionPortal
App‒like:모바일Icon을이용한사이트접속및모바일UX제공
18
PWA를적용한SolutionPortal
Engageable:Web&MobilePush알람을이용한실시간게시글알림
19
PWA주요기술
WepAppManifest(Icon&InstallBanner)
앱아이콘,화면런쳐방식및배경색,시작페이지등을설정할수있는JSON파일
20
{
"short_name":"SolPot_dev",
"name":"SolutionPortal",
"icons":[
{
"src":"dist/images/icons/icon‐32x32.png",
"type":"image/png",
"sizes":"32x32"
},
...
],
"background_color":"#1E88E5",
"display":"standalone",
"start_url":"./"
}
21
WebAppManifest파일에서지원하는기능들
홈화면에WebAppIcon추가
사이트방문시하단에설치배너표시(5분간격2번이상방문시표시됨)
런쳐화면방향,크기,배경색설정
22
인스톨배너를이용한앱설치및실행
데모
23
크롬개발자콘솔의Application탭에서디버깅및조작가능
24
ServiceWorker(Offline,Cache,WebPush)
오프라인서비스,푸쉬알람등의모바일기능을웹에서가능하게하는코어기술
브라우저의백그라운드에서돌아가는script파일,브라우저와네트워크의미들웨어
25
웹페이지에서네트워크요청발생시해당요청을가로챔
캐쉬가있을경우즉시로딩하여속도가매우빠름
26
웹페이지와는별개의라이프싸이클을가진다.
27
ServiceWorker코드
서비스워커등록:navigator.serviceWorker.register()
if('serviceWorker'innavigator){
navigator.serviceWorker.register('/sw.js').then(function(registration){
//등록성공
console.log('ServiceWorkerregistrationsuccessfulwithscope:',registration.scope);
}).catch(function(err){
//등록실패
console.log('ServiceWorkerregistrationfailed:',err);
});
}
28
서비스워커설치:self.addEventListener('install',function(event){});
varCACHE_NAME="my‐first‐cache";
varcacheFiles=[
"/",
"/pwa.png"
];
self.addEventListener('install',function(event){
event.waitUntil(
caches.open(CACHE_NAME)
.then(function(cache){
console.log('Openedcache');
returncache.addAll(cacheFiles);
})
);
console.log("서비스워커설치완료");
});
29
서비스워커디버깅
ChromeDeveloperTools의Application탭
실행중인서비스워커확인은chrome://inspect/#service‐workers
30
서비스워커를이용한Push알람시연
POSCOICT솔루션포탈
31
서비스워커개발환경
HTTPS통신+최신모던브라우저
32
지원브라우저
GoogleChrome
MozillaFirefox
MicrosoftEdge
Opera
SamsungMobileBrowser
Safari(지원예정)
33
마무리
아직은디버깅이어려운서비스워커
기개발된서비스에적용하기에는제약사항이존재
HTTP와HTTPS의어마어마한차이
일부모바일앱을대체할수있는사용자경험
현재보다는앞으로가더기대되는PWA
34
참고자료
GoogleWebFundamentals
GoogleHTML5Rocks
ServiceWorker지원브라우저
지디넷‒오프라인웹이온다
35
감사합니다.
36

More Related Content

What's hot (20)

PWA - Progressive Web App
PWA - Progressive Web AppPWA - Progressive Web App
PWA - Progressive Web App
Robert Robinson
Progressive web app
Progressive web appProgressive web app
Progressive web app
Deepak Upadhyay
Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)
Sandip Nirmal
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
Akshay Sharma
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
SaleemMalik52
Intro to Three.js
Intro to Three.jsIntro to Three.js
Intro to Three.js
Kentucky JavaScript Users Group
Episode 8 - Path To Code - Integrate Salesforce with external system using R...
Episode 8  - Path To Code - Integrate Salesforce with external system using R...Episode 8  - Path To Code - Integrate Salesforce with external system using R...
Episode 8 - Path To Code - Integrate Salesforce with external system using R...
Jitendra Zaa
Computer Vision and Text Analytics Using Azure Cognitive Services
Computer Vision and Text Analytics Using Azure Cognitive ServicesComputer Vision and Text Analytics Using Azure Cognitive Services
Computer Vision and Text Analytics Using Azure Cognitive Services
Umme Rubaiyat Chowdhury
Firebase Overview
Firebase OverviewFirebase Overview
Firebase Overview
aashutosh kumar
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web App
Ido Green
강연 1. AWS 소개 및 AWS의 역사:: AWSome Day Online Conference
강연 1. AWS 소개 및 AWS의 역사:: AWSome Day Online Conference 강연 1. AWS 소개 및 AWS의 역사:: AWSome Day Online Conference
강연 1. AWS 소개 및 AWS의 역사:: AWSome Day Online Conference
Amazon Web Services Korea
Progressive Web App
Progressive Web AppProgressive Web App
Progressive Web App
Subodh Garg
Introduction to Firebase with Android and Beyond...
Introduction to Firebase with Android and Beyond...Introduction to Firebase with Android and Beyond...
Introduction to Firebase with Android and Beyond...
Kasper Loevborg Jensen
[웹프로그래밍] 최종발표
[웹프로그래밍] 최종발표[웹프로그래밍] 최종발표
[웹프로그래밍] 최종발표
Kwang-soo Park
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
Jeongmin Cha
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
SangIn Choung
Pwa.pptx
Pwa.pptxPwa.pptx
Pwa.pptx
Harish Karthick
POSTMAN.pptx
POSTMAN.pptxPOSTMAN.pptx
POSTMAN.pptx
RamaKrishna970827
BDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVABDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVA
Srinivas Katakam
AWS Amplify
AWS AmplifyAWS Amplify
AWS Amplify
AWS Riyadh User Group
Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)Introduction to Progressive Web Apps (PWA)
Introduction to Progressive Web Apps (PWA)
Sandip Nirmal
Episode 8 - Path To Code - Integrate Salesforce with external system using R...
Episode 8  - Path To Code - Integrate Salesforce with external system using R...Episode 8  - Path To Code - Integrate Salesforce with external system using R...
Episode 8 - Path To Code - Integrate Salesforce with external system using R...
Jitendra Zaa
Computer Vision and Text Analytics Using Azure Cognitive Services
Computer Vision and Text Analytics Using Azure Cognitive ServicesComputer Vision and Text Analytics Using Azure Cognitive Services
Computer Vision and Text Analytics Using Azure Cognitive Services
Umme Rubaiyat Chowdhury
Building a Progressive Web App
Building a  Progressive Web AppBuilding a  Progressive Web App
Building a Progressive Web App
Ido Green
강연 1. AWS 소개 및 AWS의 역사:: AWSome Day Online Conference
강연 1. AWS 소개 및 AWS의 역사:: AWSome Day Online Conference 강연 1. AWS 소개 및 AWS의 역사:: AWSome Day Online Conference
강연 1. AWS 소개 및 AWS의 역사:: AWSome Day Online Conference
Amazon Web Services Korea
Introduction to Firebase with Android and Beyond...
Introduction to Firebase with Android and Beyond...Introduction to Firebase with Android and Beyond...
Introduction to Firebase with Android and Beyond...
Kasper Loevborg Jensen
[웹프로그래밍] 최종발표
[웹프로그래밍] 최종발표[웹프로그래밍] 최종발표
[웹프로그래밍] 최종발표
Kwang-soo Park
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
Jeongmin Cha
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
SangIn Choung

Viewers also liked (6)

프로그레시브 웹앱(Pwa)
프로그레시브 웹앱(Pwa)프로그레시브 웹앱(Pwa)
프로그레시브 웹앱(Pwa)
Woncheol Lee
2017_Google_PWA_Roadshow_Lighthouse
2017_Google_PWA_Roadshow_Lighthouse2017_Google_PWA_Roadshow_Lighthouse
2017_Google_PWA_Roadshow_Lighthouse
Gihyo Joshua Jang
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationGrunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
David Amend
비 개발자를 위한 웹 개발 기초
비 개발자를 위한 웹 개발 기초비 개발자를 위한 웹 개발 기초
비 개발자를 위한 웹 개발 기초
Gihyo Joshua Jang
엔지니어 관점에서 바라본 데이터시각화
엔지니어 관점에서 바라본 데이터시각화엔지니어 관점에서 바라본 데이터시각화
엔지니어 관점에서 바라본 데이터시각화
Kenneth Ceyer
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
 GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기 GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
Kenneth Ceyer
프로그레시브 웹앱(Pwa)
프로그레시브 웹앱(Pwa)프로그레시브 웹앱(Pwa)
프로그레시브 웹앱(Pwa)
Woncheol Lee
2017_Google_PWA_Roadshow_Lighthouse
2017_Google_PWA_Roadshow_Lighthouse2017_Google_PWA_Roadshow_Lighthouse
2017_Google_PWA_Roadshow_Lighthouse
Gihyo Joshua Jang
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous IntegrationGrunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
David Amend
비 개발자를 위한 웹 개발 기초
비 개발자를 위한 웹 개발 기초비 개발자를 위한 웹 개발 기초
비 개발자를 위한 웹 개발 기초
Gihyo Joshua Jang
엔지니어 관점에서 바라본 데이터시각화
엔지니어 관점에서 바라본 데이터시각화엔지니어 관점에서 바라본 데이터시각화
엔지니어 관점에서 바라본 데이터시각화
Kenneth Ceyer
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
 GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기 GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
Kenneth Ceyer

Similar to 프로그레시브 웹앱이란? - Progressive Web Apps (20)

모바일앱개발 교육자료
모바일앱개발 교육자료모바일앱개발 교육자료
모바일앱개발 교육자료
JinHyuck Churn
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
Hankyo
차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"
Changhwan Yi
[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효
NAVER D2
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
Wonsuk Lee
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
Wonsuk Lee
웹 2.0 기술 소개 (2006)
웹 2.0 기술 소개 (2006)웹 2.0 기술 소개 (2006)
웹 2.0 기술 소개 (2006)
Channy Yun
하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)
Changhwan Yi
HTML5 와 미래웹기술 part 2
HTML5 와 미래웹기술 part 2HTML5 와 미래웹기술 part 2
HTML5 와 미래웹기술 part 2
미래웹기술연구소 (MIRAE WEB)
Webtech
WebtechWebtech
Webtech
Hyojin Song
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
JeongHeon Lee
Web os 전략 0912
Web os 전략 0912Web os 전략 0912
Web os 전략 0912
우일 권
The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
Sang Seok Lim
C1 하이브리드 앱 어떻게 개발해야 하나
C1 하이브리드 앱 어떻게 개발해야 하나C1 하이브리드 앱 어떻게 개발해야 하나
C1 하이브리드 앱 어떻게 개발해야 하나
NAVER D2
HTML5 Tutorial(Korean)
HTML5 Tutorial(Korean)HTML5 Tutorial(Korean)
HTML5 Tutorial(Korean)
미래웹기술연구소 (MIRAE WEB)
2012, 대한민국 웹 표준, 그 기로에 서다
2012, 대한민국 웹 표준, 그 기로에 서다2012, 대한민국 웹 표준, 그 기로에 서다
2012, 대한민국 웹 표준, 그 기로에 서다
Jonathan Jeon
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Channy Yun
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
NAVER D2
Hybrid App
Hybrid AppHybrid App
Hybrid App
Jung Young Kim
모바일앱개발 교육자료
모바일앱개발 교육자료모바일앱개발 교육자료
모바일앱개발 교육자료
JinHyuck Churn
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
Hankyo
차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"
Changhwan Yi
[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효
NAVER D2
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
Wonsuk Lee
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
Wonsuk Lee
웹 2.0 기술 소개 (2006)
웹 2.0 기술 소개 (2006)웹 2.0 기술 소개 (2006)
웹 2.0 기술 소개 (2006)
Channy Yun
하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)
Changhwan Yi
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
HTML5 기반 다매체 연동형 서비스 발전 방향(티비스톰 정운교 이사)
JeongHeon Lee
The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
Sang Seok Lim
C1 하이브리드 앱 어떻게 개발해야 하나
C1 하이브리드 앱 어떻게 개발해야 하나C1 하이브리드 앱 어떻게 개발해야 하나
C1 하이브리드 앱 어떻게 개발해야 하나
NAVER D2
2012, 대한민국 웹 표준, 그 기로에 서다
2012, 대한민국 웹 표준, 그 기로에 서다2012, 대한민국 웹 표준, 그 기로에 서다
2012, 대한민국 웹 표준, 그 기로에 서다
Jonathan Jeon
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Channy Yun
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
NAVER D2

프로그레시브 웹앱이란? - Progressive Web Apps