Download pdf - Progressive Web Apps

Transcript
Page 1: Progressive Web Apps

Progressive Web Apps

Kevin DantasDeveloper Full-stack

Page 2: Progressive Web Apps

PROGRESSIVE WEB APP

OfflineFirst

PerformanceOtimizada

PushNotification

ConexãoSegura

CarregamentoInstantâneo

Page 3: Progressive Web Apps

PERFORMANCEOTIMIZADA

60FPS

Page 4: Progressive Web Apps

CONEXÃOSEGURA

Page 5: Progressive Web Apps

OFFLINEFIRST

Page 6: Progressive Web Apps
Page 7: Progressive Web Apps

CARREGAMENTOINSTANTÂNEO

Page 8: Progressive Web Apps

ENGAGING

Page 9: Progressive Web Apps

<XML>{JSON}

HTTPS/2

Page 10: Progressive Web Apps

CASES

https://pwa.rocks

Page 11: Progressive Web Apps

76% AUMENTO NAS CONVERSÕES

Page 12: Progressive Web Apps

76% AUMENTO NAS CONVERSÕES

14% iOS

30%Android

Page 13: Progressive Web Apps

https://ride.lyft.com

Page 14: Progressive Web Apps

5x mais corridas do que o esperado na web

https://ride.lyft.com

Page 15: Progressive Web Apps

75 MB

17 MB

< 1 MBAndroid

App PWA

TamanhoApp

iOSApp

Page 16: Progressive Web Apps

50%das reservas são feitaspara o mesmo dia

Page 17: Progressive Web Apps

3x mais usuários fazendo a primeira compra peloPWA do que pelo app

Page 18: Progressive Web Apps

SERVICE WORKER

Page 19: Progressive Web Apps
Page 20: Progressive Web Apps
Page 21: Progressive Web Apps

Ouvindo eventos fetch

if (navigator.serviceWorker) { navigator.serviceWorker.register(‘/sw.js’)}

Registrar um Service Worker

Page 22: Progressive Web Apps

Criando o cache de arquivos estáticos

self.addEventListener(‘fetch’, evento => { const url = new URL(event.request.url);

if (url.pathname.endsWith(‘.jpg’)) { event.respondWith( fetch(‘minha_imagem.jpg’) ) } })

Page 23: Progressive Web Apps

Criando o cache de arquivos estáticos

self.addEventListener(‘install’, event => { event.waitUntil( caches.open(‘static-v1’) .then(cache => cache.addAll([ ‘/index.html’, ‘/styles.css’ ])) )})

Page 24: Progressive Web Apps

self.addEventListener(‘fetch’, event => { event.respondWith( caches.match(event.request) .then(response => response || fetch(event.request) ) )})

Page 25: Progressive Web Apps

Install Banners

Page 26: Progressive Web Apps

Install Banners

- Um service worker registrado no seu site.

- Usar HTTPS.

- Ter frequência de visita.

Requisitos

Page 27: Progressive Web Apps

Estrutura{ "short_name": "Voice Memos, "name": "Awesome Voice Memos", "background_color": "#fff", "icons": [ { "src": "icon-1x.png", "type": "image/png", "sizes": "48x48" } ], "start_url": "index.html"}

Awesome Voice Memos

Page 28: Progressive Web Apps

Declarando um manifesto

<link rel="manifest" href="/manifest.webmanifest">

Page 29: Progressive Web Apps

Aquisição Engajamento Conversão Retenção

Accelerated Mobile Pages

Progressive Web Apps

Page 30: Progressive Web Apps

Aquisição Engajamento Conversão Retenção

Accelerated Mobile Pages

Progressive Web Apps

Push Notifications

Page 31: Progressive Web Apps

Aquisição Engajamento Conversão Retenção

Accelerated Mobile Pages

Progressive Web Apps

Push Notifications

Seamless Sign-In

One Tap Checkout

Page 32: Progressive Web Apps
Page 33: Progressive Web Apps

Lighthouse

Page 34: Progressive Web Apps

Obrigado!

Kevin DantasDeveloper Full-stack