PWA
Progressive Web App
- Overview -
2017-07-03
PWA은 하나의 기술이 아닌 여러 기술의 집합이다.
개발자가 완전한 반응형 웹 페이지를 만드는 스킬을 습득하면 푸시 알림, 오프라인 지원,
부드러운 전환 같은 PWA을 위한 기능을 쉽게 추가할 수 있게 된다.
⇒개발자의 기술 활용 능력에 따라 페이지가 점진적으로 좋아질 수 있다.
1. Features
2. Compatibility
3. Limits(for now)
4. References
1. Features
• Light; faster
• Push notification
• Options to save to the device
• Ability to work offline
• Make payment
• Closer integration with device functions/native apps
• Light
웹 페이지이므로 네이티브 앱에 비해 크기가 아주 작다. 데이터가 비싸거나 스마트 폰이나
네트워크 연결이 좋지 않은 환경에서도 충분히 사용 가능한 UX를 제공한다.
• Push notification
Push API 를 사용해 웹 페이지에서 PC나 모바일 환경으로 푸시 알림을 보낼 수 있다.
• Options to save to the device
홈 스크린에 추가 후 실행 시 네이티브 앱과 동일하게 보여진다. URL과 북마크, 네비게이션
등 기존 브라우저 액션이 나타나지 않음.
• Ability to work offline
오프라인 상태에서도 Service worker를 통해 캐시된 데이터를 받을 수 있다.
(페이지 내의 연결된 링크안의 데이터 등 캐시 되지 않은 항목은 보여줄 수 없다.)
• Make payment
Payment API 를 사용해 결제(Android Pay, Samsung Pay, Alipay, PayPal) 가능
• Closer integration with device functions/native apps
Appplication shell은 사용자가 페이지에 다시 접근할 때마다 네트워크를 통해 다시 로드되
지 않는다. 그렇기 때문에 네이티브 앱만큼 속도가 빠르다.
2. Compatibility
https://platform-status.mozilla.org/
https://whatwebcando.today
Manifest
Request API
3. Limits(for now)
• 브라우저 지원
• 네이티브 기기의 소프트웨어 지원
• IOS에서 home screen shortcut/notification 기능 미지원
• 네이티브 기기의 하드웨어 지원
• NFC, 근접 센서 등
• 다운로드 센터
• App store 또는 Play store 같은 플랫폼이 없음
• 3rd party 앱 로그인 기능
• 새 웹 페이지를 띄워서 사용해야 함
3. References
• Companies which have launched PWA
3. References
• Service worker:
• Repo: https://github.com/w3c/ServiceWorker
• Articles:
• https://developers.google.com/web/fundamentals/getting-started/primers/service-workers
• Application shell:
• Repo: https://github.com/GoogleChrome/application-shell
• Articles:
• https://developers.google.com/web/fundamentals/architecture/app-shell
• Compatibility:
• https://platform-status.mozilla.org/
• https://whatwebcando.today
• Articles:
• https://developers.google.com/web/showcase/2016/iowa2016
• https://searchenginewatch.com/2017/05/23/google-io-whats-going-on-with-progressive-web-apps/

PWA - overview [written in KOREAN]

  • 1.
    PWA Progressive Web App -Overview - 2017-07-03
  • 2.
    PWA은 하나의 기술이아닌 여러 기술의 집합이다. 개발자가 완전한 반응형 웹 페이지를 만드는 스킬을 습득하면 푸시 알림, 오프라인 지원, 부드러운 전환 같은 PWA을 위한 기능을 쉽게 추가할 수 있게 된다. ⇒개발자의 기술 활용 능력에 따라 페이지가 점진적으로 좋아질 수 있다.
  • 3.
    1. Features 2. Compatibility 3.Limits(for now) 4. References
  • 4.
    1. Features • Light;faster • Push notification • Options to save to the device • Ability to work offline • Make payment • Closer integration with device functions/native apps
  • 5.
    • Light 웹 페이지이므로네이티브 앱에 비해 크기가 아주 작다. 데이터가 비싸거나 스마트 폰이나 네트워크 연결이 좋지 않은 환경에서도 충분히 사용 가능한 UX를 제공한다.
  • 6.
    • Push notification PushAPI 를 사용해 웹 페이지에서 PC나 모바일 환경으로 푸시 알림을 보낼 수 있다.
  • 7.
    • Options tosave to the device 홈 스크린에 추가 후 실행 시 네이티브 앱과 동일하게 보여진다. URL과 북마크, 네비게이션 등 기존 브라우저 액션이 나타나지 않음.
  • 8.
    • Ability towork offline 오프라인 상태에서도 Service worker를 통해 캐시된 데이터를 받을 수 있다. (페이지 내의 연결된 링크안의 데이터 등 캐시 되지 않은 항목은 보여줄 수 없다.)
  • 9.
    • Make payment PaymentAPI 를 사용해 결제(Android Pay, Samsung Pay, Alipay, PayPal) 가능
  • 10.
    • Closer integrationwith device functions/native apps Appplication shell은 사용자가 페이지에 다시 접근할 때마다 네트워크를 통해 다시 로드되 지 않는다. 그렇기 때문에 네이티브 앱만큼 속도가 빠르다.
  • 11.
  • 12.
    3. Limits(for now) •브라우저 지원 • 네이티브 기기의 소프트웨어 지원 • IOS에서 home screen shortcut/notification 기능 미지원 • 네이티브 기기의 하드웨어 지원 • NFC, 근접 센서 등 • 다운로드 센터 • App store 또는 Play store 같은 플랫폼이 없음 • 3rd party 앱 로그인 기능 • 새 웹 페이지를 띄워서 사용해야 함
  • 13.
    3. References • Companieswhich have launched PWA
  • 14.
    3. References • Serviceworker: • Repo: https://github.com/w3c/ServiceWorker • Articles: • https://developers.google.com/web/fundamentals/getting-started/primers/service-workers • Application shell: • Repo: https://github.com/GoogleChrome/application-shell • Articles: • https://developers.google.com/web/fundamentals/architecture/app-shell • Compatibility: • https://platform-status.mozilla.org/ • https://whatwebcando.today • Articles: • https://developers.google.com/web/showcase/2016/iowa2016 • https://searchenginewatch.com/2017/05/23/google-io-whats-going-on-with-progressive-web-apps/

Editor's Notes

  • #6 트위터의 경우 데이터가 비싸거나 스마트폰이 덜 발달한 시장에서, 올라의 경우 연결이 좋지 않은 도시에서 PWA 서비스를 활용하고 있
  • #11 네비게이션은 고정이고, 컨텐츠만 달라지는 경우 적합. 고정된 항목에 대해 적용.