SlideShare uma empresa Scribd logo
1 de 11
PROGRESSIVE WEB APPS
A REVOLUÇÃO DAS APLICAÇÕES WEB MOBILE
APRESENTAÇÃO
• João Maciel
• Desenvolvedor de software há 5 anos
• Formado em Desenvolvimento Web pelo Senai
• Cursando 8º semestre de Sistemas de informação na Unime
• Trabalhando na Soterotech como programador
• j.maciel.hd@gmail.com
• github.com/jmaciel
O QUE SÃO PROGRESSIVE WEB APPS
• Basicamente são a mesma coisa que um web app comum, porém se
comporta de forma progressiva
• O que significa para um web app ser progressivo?
• Significa que a aplicação vai ganhando suas capacidades
progressivamente de acordo com as capacidades dos
navegadores que estão sendo utilizados, ou seja, a experiência
vai melhorando a depender dos recursos disponíveis no
dispositivo do usuário.
• Uma outra definição sugere que é um app que possui todos os
benefícios das aplicações web e das aplicações nativas, e essa é a
definição mais comumente vista
• PWAs são híbridos de web com nativo, sendo aplicações web que
DEFINIÇÃO
• O Que é necessário para uma aplicação web ser considerada progressiva?
• Alex Russel cita as seguintes características para um progressive web app:
• Responsivo: se encaixa em qualquer resolução de tela.
• Independente de conexão: o app deve poder funcionar off-line
• Similaridade a um app nativo: o app deve parecer e se comportar como um
app nativo
• Sempre atualizado: o usuário não precisa “baixar uma atualização do app”
de tempos em tempos.
• Seguro: o conteúdo do app é servido com TLS para prevenir intrusos.
• Discoverable: é facilmente achado por mecanismos de busca
• Re-engajável: pode chamar o usuário de volta para o app
• Instalável: pode ser adicionado a homescreen do celular e acessado mesmo
off-line
• Linkável: a essência da web, pode ser facilmente compartilhado e acessado
PORQUÊ UTILIZAR PWA?
• Um estudo aponta que uma aplicação perde 20% dos
usuários a cada passo adicional que é necessário para
utilizá-la
• Numa aplicação nativa você precisa buscar o app na
loja de aplicativos, instalar e só então abrir ele
• Em um PWA é necessário apenas acessar o link
• Um PWA é uma aplicação web que tira vantagem de
muitos recursos nativos, sem a complicação de
codificar para mais de uma plataforma, distribuição e
COMO OS PWAS FUNCIONAM
• Os PWAs utilizam diversos recursos de navegadores modernos
para funcionar como por exemplo:
• Geolocation
• Media File
• Web Manifest
• Service Workers
• Desses recursos de navegadores modernos o que se destaca é
o Service Worker pois permite algumas das funcionalidades
mais importantes para assemelhar um web app de um app
nativo
SERVICE WORKERS
• O que são?
• É um script que seu navegador executa em segundo plano, separado de
uma página Web, abrindo a porta para recursos que não precisam de
uma página ou interação do usuário.
• Importante saber:
• Não tem acesso direto ao DOM, entretanto, pode se comunicar com
paginas via postMessage interface, dessa forma consegue manipular a
DOM se necessário
• É um proxy de rede programável, permitindo controlarmos como as
requisições de nossa pagina são tratadas
• É finalizado quando não está em uso, então não é possível persistir
estados globais nele, para isso seria necessário utilizar IndexedDB API
• SW fazem usos extensos de Promises, então é necessário que aja um
conhecimento prévio
EXEMPLOS IMPLEMENTÁVEIS COM SW
• Sincronização em Segundo plano
• Push Notifications
• Receber atualizações centralizadas de informações pesadas
para serem calculadas como, geolocation ou gyroscopio, assim
multiplas paginas podem fazer uso de um unico agrupamento
de informação
• Client-side compiling e gerenciamento de dependencias para
CoffeeScript, less, CJS/AMD modules, etc. para uso de
desenvolvedoresMelhoramento de perfomace, baixando
antecipadamente alguns arquivos que o usuário irá utilizer em
breve, como algumas próximas imagens em uma galleria de
fotos.
PERGUNTAS?
LET’S CODE!
REFERÊNCIAS E LEITURAS RECOMENDADAS
• https://github.com/phpunime/syp-pwa-client
• https://developers.google.com/web/progressive-web-apps/
• https://codelabs.developers.google.com/codelabs/your-first-pwapp/
• https://pwa.rocks/
• http://hipsters.tech/progressive-web-apps-hipsters-03/
• http://arquiteturadeinformacao.com/mobile/o-que-sao-progressive-web-apps/
• https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul/
• http://digiday.com/platforms/wtf-progressive-web-apps/
• https://www.smashingmagazine.com/2016/08/a-beginners-guide-to-progressive-web-apps/
• http://blog.gaborcselle.com/2012/10/every-step-costs-you-20-of-users.html
• https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers
• https://developers.google.com/web/fundamentals/getting-started/primers/service-workers
• https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API

Mais conteúdo relacionado

Mais procurados

Web/Mobile tendências 2015
Web/Mobile tendências 2015Web/Mobile tendências 2015
Web/Mobile tendências 2015Rangel Torrezan
 
Progressive Web Apps - MeetUp MobileDevBH
Progressive Web Apps - MeetUp MobileDevBHProgressive Web Apps - MeetUp MobileDevBH
Progressive Web Apps - MeetUp MobileDevBHRafael Schettino
 
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...tdc-globalcode
 
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman | Seminário
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman  | Seminário ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman  | Seminário
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman | Seminário Osmar Petry
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapAplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapThiago Colares
 
AMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps ModernasAMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps ModernasDan Vitoriano
 
Pwa (progressive web app)
Pwa (progressive web app)Pwa (progressive web app)
Pwa (progressive web app)GeorgiaAntunes
 
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com BlazorMSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com BlazorGustavo Bellini Bigardi
 
Aplicações móveis com Calatrava
Aplicações móveis com CalatravaAplicações móveis com Calatrava
Aplicações móveis com CalatravaAlexandre Barbosa
 
Bertuzzi Xamarin Summit 2018
Bertuzzi Xamarin Summit 2018Bertuzzi Xamarin Summit 2018
Bertuzzi Xamarin Summit 2018Thiago Bertuzzi
 
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/CordovaAbra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/CordovaGustavo Costa
 
Startups com WordPress - Tirando a sua ideia do papel
Startups com WordPress - Tirando a sua ideia do papelStartups com WordPress - Tirando a sua ideia do papel
Startups com WordPress - Tirando a sua ideia do papelLeonardo Velozo
 

Mais procurados (20)

Web/Mobile tendências 2015
Web/Mobile tendências 2015Web/Mobile tendências 2015
Web/Mobile tendências 2015
 
Facebook flux
Facebook fluxFacebook flux
Facebook flux
 
Progressive apps
Progressive appsProgressive apps
Progressive apps
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Progressive Web Apps - MeetUp MobileDevBH
Progressive Web Apps - MeetUp MobileDevBHProgressive Web Apps - MeetUp MobileDevBH
Progressive Web Apps - MeetUp MobileDevBH
 
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
 
Jquery Mobile
Jquery MobileJquery Mobile
Jquery Mobile
 
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman | Seminário
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman  | Seminário ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman  | Seminário
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman | Seminário
 
Why do I Love WordPress?
Why do I Love WordPress?Why do I Love WordPress?
Why do I Love WordPress?
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapAplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
 
AMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps ModernasAMP Roadshow SP 2019 - Web Apps Modernas
AMP Roadshow SP 2019 - Web Apps Modernas
 
Pwa (progressive web app)
Pwa (progressive web app)Pwa (progressive web app)
Pwa (progressive web app)
 
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com BlazorMSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
MSP Tech Days Online 2018 - SPA além do JavaScript com Blazor
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
Netbeans Slides
Netbeans SlidesNetbeans Slides
Netbeans Slides
 
Aplicações móveis com Calatrava
Aplicações móveis com CalatravaAplicações móveis com Calatrava
Aplicações móveis com Calatrava
 
Bertuzzi Xamarin Summit 2018
Bertuzzi Xamarin Summit 2018Bertuzzi Xamarin Summit 2018
Bertuzzi Xamarin Summit 2018
 
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
 
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/CordovaAbra sua cabeça, apps híbridos - PhoneGap/Cordova
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
 
Startups com WordPress - Tirando a sua ideia do papel
Startups com WordPress - Tirando a sua ideia do papelStartups com WordPress - Tirando a sua ideia do papel
Startups com WordPress - Tirando a sua ideia do papel
 

Destaque

Gerencia Publica
Gerencia PublicaGerencia Publica
Gerencia PublicaIsabelo10
 
Meu artigo âmbito jurídico
Meu artigo âmbito jurídicoMeu artigo âmbito jurídico
Meu artigo âmbito jurídicoFlávia Wanzeler
 
Directores de practica
Directores de practicaDirectores de practica
Directores de practicaAndrea Maneiro
 
Slide share test
Slide share testSlide share test
Slide share testsamzullo
 
Acre 3ª edição (março maio 2014)
Acre 3ª edição (março maio 2014)Acre 3ª edição (março maio 2014)
Acre 3ª edição (março maio 2014)AMEOPOEMA Editora
 
A verdade e a justiça no brasil
A verdade e a justiça no brasilA verdade e a justiça no brasil
A verdade e a justiça no brasiledsonjsmarques
 
Consideraciones entorno a la filosofia y sus metodos.
Consideraciones entorno a la filosofia y sus metodos.Consideraciones entorno a la filosofia y sus metodos.
Consideraciones entorno a la filosofia y sus metodos.MariaCamacho25293200
 
Normas de comportamiento en pista
Normas de comportamiento en pistaNormas de comportamiento en pista
Normas de comportamiento en pistameletya66
 
analisis diseño
analisis diseñoanalisis diseño
analisis diseñochichin0512
 
Operadores mecanicos
Operadores mecanicosOperadores mecanicos
Operadores mecanicosfrano123
 
A importância da integração
A importância da integraçãoA importância da integração
A importância da integraçãoCyrille Schneider
 
Instrumentos de orquestra
Instrumentos de orquestraInstrumentos de orquestra
Instrumentos de orquestraCarolffgpll
 
November 8, Child rights
November 8, Child rightsNovember 8, Child rights
November 8, Child rightsAIMEC Reporter
 

Destaque (20)

Gerencia Publica
Gerencia PublicaGerencia Publica
Gerencia Publica
 
Meu artigo âmbito jurídico
Meu artigo âmbito jurídicoMeu artigo âmbito jurídico
Meu artigo âmbito jurídico
 
Directores de practica
Directores de practicaDirectores de practica
Directores de practica
 
Fotocursillo2
Fotocursillo2Fotocursillo2
Fotocursillo2
 
Slide share test
Slide share testSlide share test
Slide share test
 
Acre 3ª edição (março maio 2014)
Acre 3ª edição (março maio 2014)Acre 3ª edição (março maio 2014)
Acre 3ª edição (março maio 2014)
 
Duel Propaganda
Duel PropagandaDuel Propaganda
Duel Propaganda
 
A verdade e a justiça no brasil
A verdade e a justiça no brasilA verdade e a justiça no brasil
A verdade e a justiça no brasil
 
Consideraciones entorno a la filosofia y sus metodos.
Consideraciones entorno a la filosofia y sus metodos.Consideraciones entorno a la filosofia y sus metodos.
Consideraciones entorno a la filosofia y sus metodos.
 
sonhos lucidos como ter e conseguir lembrar
sonhos lucidos como ter e conseguir lembrarsonhos lucidos como ter e conseguir lembrar
sonhos lucidos como ter e conseguir lembrar
 
CI
CICI
CI
 
Normas de comportamiento en pista
Normas de comportamiento en pistaNormas de comportamiento en pista
Normas de comportamiento en pista
 
analisis diseño
analisis diseñoanalisis diseño
analisis diseño
 
Tayanaaaah CV
Tayanaaaah CVTayanaaaah CV
Tayanaaaah CV
 
Operadores mecanicos
Operadores mecanicosOperadores mecanicos
Operadores mecanicos
 
A importância da integração
A importância da integraçãoA importância da integração
A importância da integração
 
Instrumentos de orquestra
Instrumentos de orquestraInstrumentos de orquestra
Instrumentos de orquestra
 
November 8, Child rights
November 8, Child rightsNovember 8, Child rights
November 8, Child rights
 
BCA - Final
BCA - FinalBCA - Final
BCA - Final
 
DOC2015494895
DOC2015494895DOC2015494895
DOC2015494895
 

Semelhante a Progressive web apps

Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Pedro Edson Silva Barros
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...tdc-globalcode
 
12 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 201812 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 2018Graziella Bonizi
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?Pedro Edson Silva Barros
 
Progressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundoProgressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundoAndre Baltieri
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Desenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator TitaniumDesenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator TitaniumDirlei Dionísio
 
8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou App8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou AppHeider Lopes
 
Aprendendo a programar <3
Aprendendo a programar <3Aprendendo a programar <3
Aprendendo a programar <3Romário santos
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxMarceloRosenbrock1
 
Migrando de Applets para JavaFX, e Modelos de Distribuição de Apps
Migrando de Applets para JavaFX, e Modelos de Distribuição de AppsMigrando de Applets para JavaFX, e Modelos de Distribuição de Apps
Migrando de Applets para JavaFX, e Modelos de Distribuição de AppsBruno Borges
 
Introdução ao desenvolvimento de apps com Phonegap
Introdução ao desenvolvimento de apps com PhonegapIntrodução ao desenvolvimento de apps com Phonegap
Introdução ao desenvolvimento de apps com PhonegapDiogo Souza Machado
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)grupouro
 

Semelhante a Progressive web apps (20)

Front end architecture
Front end architectureFront end architecture
Front end architecture
 
Web Mobile
Web MobileWeb Mobile
Web Mobile
 
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
 
12 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 201812 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 2018
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
Aplicativos Móveis: PWA, Instants Apps. Vamos entender?
 
Engenharia Web
Engenharia WebEngenharia Web
Engenharia Web
 
Progressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundoProgressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundo
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Desenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator TitaniumDesenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator Titanium
 
8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou App8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou App
 
Web ou App?
Web ou App?Web ou App?
Web ou App?
 
Aprendendo a programar <3
Aprendendo a programar <3Aprendendo a programar <3
Aprendendo a programar <3
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
Migrando de Applets para JavaFX, e Modelos de Distribuição de Apps
Migrando de Applets para JavaFX, e Modelos de Distribuição de AppsMigrando de Applets para JavaFX, e Modelos de Distribuição de Apps
Migrando de Applets para JavaFX, e Modelos de Distribuição de Apps
 
Introdução ao desenvolvimento de apps com Phonegap
Introdução ao desenvolvimento de apps com PhonegapIntrodução ao desenvolvimento de apps com Phonegap
Introdução ao desenvolvimento de apps com Phonegap
 
Ass 6
Ass 6Ass 6
Ass 6
 
Mod06 licao01-apostila
Mod06 licao01-apostilaMod06 licao01-apostila
Mod06 licao01-apostila
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)
 

Progressive web apps

  • 1. PROGRESSIVE WEB APPS A REVOLUÇÃO DAS APLICAÇÕES WEB MOBILE
  • 2. APRESENTAÇÃO • João Maciel • Desenvolvedor de software há 5 anos • Formado em Desenvolvimento Web pelo Senai • Cursando 8º semestre de Sistemas de informação na Unime • Trabalhando na Soterotech como programador • j.maciel.hd@gmail.com • github.com/jmaciel
  • 3. O QUE SÃO PROGRESSIVE WEB APPS • Basicamente são a mesma coisa que um web app comum, porém se comporta de forma progressiva • O que significa para um web app ser progressivo? • Significa que a aplicação vai ganhando suas capacidades progressivamente de acordo com as capacidades dos navegadores que estão sendo utilizados, ou seja, a experiência vai melhorando a depender dos recursos disponíveis no dispositivo do usuário. • Uma outra definição sugere que é um app que possui todos os benefícios das aplicações web e das aplicações nativas, e essa é a definição mais comumente vista • PWAs são híbridos de web com nativo, sendo aplicações web que
  • 4. DEFINIÇÃO • O Que é necessário para uma aplicação web ser considerada progressiva? • Alex Russel cita as seguintes características para um progressive web app: • Responsivo: se encaixa em qualquer resolução de tela. • Independente de conexão: o app deve poder funcionar off-line • Similaridade a um app nativo: o app deve parecer e se comportar como um app nativo • Sempre atualizado: o usuário não precisa “baixar uma atualização do app” de tempos em tempos. • Seguro: o conteúdo do app é servido com TLS para prevenir intrusos. • Discoverable: é facilmente achado por mecanismos de busca • Re-engajável: pode chamar o usuário de volta para o app • Instalável: pode ser adicionado a homescreen do celular e acessado mesmo off-line • Linkável: a essência da web, pode ser facilmente compartilhado e acessado
  • 5. PORQUÊ UTILIZAR PWA? • Um estudo aponta que uma aplicação perde 20% dos usuários a cada passo adicional que é necessário para utilizá-la • Numa aplicação nativa você precisa buscar o app na loja de aplicativos, instalar e só então abrir ele • Em um PWA é necessário apenas acessar o link • Um PWA é uma aplicação web que tira vantagem de muitos recursos nativos, sem a complicação de codificar para mais de uma plataforma, distribuição e
  • 6. COMO OS PWAS FUNCIONAM • Os PWAs utilizam diversos recursos de navegadores modernos para funcionar como por exemplo: • Geolocation • Media File • Web Manifest • Service Workers • Desses recursos de navegadores modernos o que se destaca é o Service Worker pois permite algumas das funcionalidades mais importantes para assemelhar um web app de um app nativo
  • 7. SERVICE WORKERS • O que são? • É um script que seu navegador executa em segundo plano, separado de uma página Web, abrindo a porta para recursos que não precisam de uma página ou interação do usuário. • Importante saber: • Não tem acesso direto ao DOM, entretanto, pode se comunicar com paginas via postMessage interface, dessa forma consegue manipular a DOM se necessário • É um proxy de rede programável, permitindo controlarmos como as requisições de nossa pagina são tratadas • É finalizado quando não está em uso, então não é possível persistir estados globais nele, para isso seria necessário utilizar IndexedDB API • SW fazem usos extensos de Promises, então é necessário que aja um conhecimento prévio
  • 8. EXEMPLOS IMPLEMENTÁVEIS COM SW • Sincronização em Segundo plano • Push Notifications • Receber atualizações centralizadas de informações pesadas para serem calculadas como, geolocation ou gyroscopio, assim multiplas paginas podem fazer uso de um unico agrupamento de informação • Client-side compiling e gerenciamento de dependencias para CoffeeScript, less, CJS/AMD modules, etc. para uso de desenvolvedoresMelhoramento de perfomace, baixando antecipadamente alguns arquivos que o usuário irá utilizer em breve, como algumas próximas imagens em uma galleria de fotos.
  • 11. REFERÊNCIAS E LEITURAS RECOMENDADAS • https://github.com/phpunime/syp-pwa-client • https://developers.google.com/web/progressive-web-apps/ • https://codelabs.developers.google.com/codelabs/your-first-pwapp/ • https://pwa.rocks/ • http://hipsters.tech/progressive-web-apps-hipsters-03/ • http://arquiteturadeinformacao.com/mobile/o-que-sao-progressive-web-apps/ • https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul/ • http://digiday.com/platforms/wtf-progressive-web-apps/ • https://www.smashingmagazine.com/2016/08/a-beginners-guide-to-progressive-web-apps/ • http://blog.gaborcselle.com/2012/10/every-step-costs-you-20-of-users.html • https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers • https://developers.google.com/web/fundamentals/getting-started/primers/service-workers • https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API