SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Progressive Web Apps
https://goo.gl/CppxC1
Quem sou?
• Microsoft MVP desde 2013
• Desenvolvedor Web desde 2005
• Atuação em projetos nacionais e internacionais
• Atuação em projetos pequenos, médios e grandes
• Consultor independente desde 2012
• Fundador do balta.io
http://andrebaltieri.net/
contato@andrebaltieri.net
http://balta.io/
http://bit.ly/asp-net-cast
http://bit.ly/software-em-contexto
http://mvp.microsoft.com
Agenda
• O que são as PWA?
• Ionic Framework
• Otimizando o App Progressivamente
Progressive Web Apps
O que são? Como nascem? O que comem?
• Não é um Framework ou uma Tool
• Uma aplicação Web
• Utilizando Recursos mais modernos do Browser
• Trabalhar Offline
• Adicionar ao Desktop
• Vibrar
• Push Notification
• Geolocalização
• Camera
• Experiência mais “nativa”
• Aplicação melhora progressivamente
PWA
REFLEXÃO
Por que mantivemos a Web assim tanto tempo?
• Trabalhar Offline
• Possível há um bom tempo, com uso do Application Cache do HTML 5
• Adicionar ao Desktop
• Possível há um bom tempo, mesmo antes do Manifest.json
• Vibrar
• Possível manualmente, basta segurar seu telefone ou laptop e sacudir
• Push Notification
• Também não é tão novo
• Geolocalização
• Possível há um bom tempo com HTMl 5
• Camera
• Possível há um bom tempo com HTML 5
Futuro ou Presente?
Já usamos isto antes…
• Alguns recursos até já utilizamos
PWA
União dos poderes…
• É tudo Web (Dev e Deploy são fáceis)
• SEO e Indexação
• Linkável
• Atualização tranquila
• Funciona no Mobile/Desktop
• Recursos citados anteriormente (Push, Offline, etc)
Quais as vantagens
• Geolocalização
• Câmera
• Microfone
• Vibração
• Orientação de tela
• Acesso ao acelerômetro e búlsola
• Bateria
• Rede
Recursos (Cada vez chegando mais)
Progressive Web Apps
O lado ruim
• Você não está nas lojas
• Suporte dos Navegadores
• Nem todos recursos do device disponíveis
• iOS limitado
• Comunicação com weareables e outros devices externos
Pontos negativos
Progressive Web Apps
O futuro
• Cada dia devices com maiores capacidades
• Cada dia browser (Leia Chrome) com novas capacidades
• Aguardando a Apple melhorar o suporte...
O futuro
• Não tem suporte a gestos
• Não tem feeling nativo
• É apenas uma adaptação
É responsivo mas…
• Roda offline
• Adiciona a tela inicial
• Suporta Desktop/Mobile
Porém…
Ionic
A framework to rule them all
• Inicialmente um framework Mobile
• Suporte a Desktop
• Cria Apps Híbridas (APK)
• Cria Apps Web
• Feeling mobile na Web
Ionic
• Ótimo “feeling” de um App Mobile
• Service Worker
• Manifest
Ionic e PWA
• npm install –g ionic cordova
• ionic start tdc blank
• cd tdc
• ionic cordova platform add browser
• ionic serve --lab
• ionic build --prod --aot
Startup
DEMO
Entregando uma melhor experiência na UI
DEMO
Manifest
DEMO
Adicionando a Tela Inicial
DEMO
Geolocalização
DEMO
Câmera
Um service worker é um script que seu navegador
executa em segundo plano, separado da página da
Web, possibilitando recursos que não precisam de
uma página da Web ou de interação do usuário.
Matt Gaunt
https://developers.google.com/web/fundamentals/getting-started/primers/service-workers?hl=pt-br
Service Workers
DEMO
Push Notification
http://balta.io/
http://bit.ly/baltaio-curso-aspnetcore
Obrigado
Progressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundo
Progressive Web Apps: Um novo mundo

Weitere ähnliche Inhalte

Was ist angesagt?

Desenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on RailsDesenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on Rails
Rogerio Chaves
 
Novo Cinto de Utilidades do Desenvolvedor JavaScript, WebAPIs e Open Web
Novo Cinto de Utilidades do Desenvolvedor JavaScript, WebAPIs e Open WebNovo Cinto de Utilidades do Desenvolvedor JavaScript, WebAPIs e Open Web
Novo Cinto de Utilidades do Desenvolvedor JavaScript, WebAPIs e Open Web
Leonardo Balter
 

Was ist angesagt? (20)

Asp.net web api
Asp.net web apiAsp.net web api
Asp.net web api
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
 
Tornando o Xamarin.Forms ainda melhor com Prism
Tornando o Xamarin.Forms ainda melhor com PrismTornando o Xamarin.Forms ainda melhor com Prism
Tornando o Xamarin.Forms ainda melhor com Prism
 
Aula 4. bibliotecas js
Aula 4. bibliotecas jsAula 4. bibliotecas js
Aula 4. bibliotecas js
 
Animações com Xamarin.Forms
Animações com Xamarin.FormsAnimações com Xamarin.Forms
Animações com Xamarin.Forms
 
O que é angular?
O que é angular?O que é angular?
O que é angular?
 
TDC SP 2015 - Criando Web Apps Real Time com AngularJs e Firebase
TDC SP 2015 - Criando Web Apps Real Time com AngularJs e FirebaseTDC SP 2015 - Criando Web Apps Real Time com AngularJs e Firebase
TDC SP 2015 - Criando Web Apps Real Time com AngularJs e Firebase
 
Do MVP ao PWA, melhorando o engajamento com cliente na CVC
Do MVP ao PWA, melhorando o engajamento com cliente na CVCDo MVP ao PWA, melhorando o engajamento com cliente na CVC
Do MVP ao PWA, melhorando o engajamento com cliente na CVC
 
Desenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on RailsDesenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on Rails
 
ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!
 
Novidades do ASP.NET MVC 4
Novidades do ASP.NET MVC 4Novidades do ASP.NET MVC 4
Novidades do ASP.NET MVC 4
 
Novo Cinto de Utilidades do Desenvolvedor JavaScript, WebAPIs e Open Web
Novo Cinto de Utilidades do Desenvolvedor JavaScript, WebAPIs e Open WebNovo Cinto de Utilidades do Desenvolvedor JavaScript, WebAPIs e Open Web
Novo Cinto de Utilidades do Desenvolvedor JavaScript, WebAPIs e Open Web
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Trabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NETTrabalhando com WebHooks no ASP.NET
Trabalhando com WebHooks no ASP.NET
 
Workshop Vanilla JS e ES6
Workshop Vanilla JS e ES6Workshop Vanilla JS e ES6
Workshop Vanilla JS e ES6
 
Mvc
MvcMvc
Mvc
 
Breve introdução ao Rails
Breve introdução ao RailsBreve introdução ao Rails
Breve introdução ao Rails
 
Do marketplace ao WordPress - WordCamp BH 2015
Do marketplace ao WordPress -  WordCamp BH 2015Do marketplace ao WordPress -  WordCamp BH 2015
Do marketplace ao WordPress - WordCamp BH 2015
 
Real time com java e Node.Js
Real time com java e Node.JsReal time com java e Node.Js
Real time com java e Node.Js
 
WebHooks no ASP.NET
WebHooks no ASP.NETWebHooks no ASP.NET
WebHooks no ASP.NET
 

Ähnlich wie Progressive Web Apps: Um novo mundo

Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGap
Lucas Félix
 

Ähnlich wie Progressive Web Apps: Um novo mundo (20)

Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
 
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
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Phonegap - self RJ
Phonegap - self RJPhonegap - self RJ
Phonegap - self RJ
 
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?
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
 
Eureka! E agora: Nativo ou Híbrido
Eureka! E agora: Nativo ou HíbridoEureka! E agora: Nativo ou Híbrido
Eureka! E agora: Nativo ou Híbrido
 
Abordagens modernas no desenvolvimento web
Abordagens modernas no desenvolvimento webAbordagens modernas no desenvolvimento web
Abordagens modernas no desenvolvimento web
 
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?
 
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, ...
 
Desenvolvimento HTML5 para Smartphones e Tablets BlackBerry
Desenvolvimento HTML5 para Smartphones e Tablets BlackBerryDesenvolvimento HTML5 para Smartphones e Tablets BlackBerry
Desenvolvimento HTML5 para Smartphones e Tablets BlackBerry
 
HTML5 - William Dias - Davi Reine - XVII SACOMP
HTML5 - William Dias - Davi Reine - XVII SACOMPHTML5 - William Dias - Davi Reine - XVII SACOMP
HTML5 - William Dias - Davi Reine - XVII SACOMP
 
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NETProgressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
 
Aplicativos Híbridos e Xamarin Test Cloud
Aplicativos Híbridos e Xamarin Test CloudAplicativos Híbridos e Xamarin Test Cloud
Aplicativos Híbridos e Xamarin Test Cloud
 
Aplicativos híbridos e Xamarin Test Cloud
Aplicativos híbridos e Xamarin Test CloudAplicativos híbridos e Xamarin Test Cloud
Aplicativos híbridos e Xamarin Test Cloud
 
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
 
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
Aplicativos hibridos-com-ionic-voce-tambem-pode-comecar-a-desenvolver-agora-t...
 
Desenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator TitaniumDesenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator Titanium
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGap
 

Mehr von Andre Baltieri

Mehr von Andre Baltieri (20)

Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022Clean Code - Promob DevDay 2022
Clean Code - Promob DevDay 2022
 
31/08/2019 - Flutter Talks
31/08/2019 - Flutter Talks31/08/2019 - Flutter Talks
31/08/2019 - Flutter Talks
 
Refatorando para Testes de Unidade
Refatorando para Testes de UnidadeRefatorando para Testes de Unidade
Refatorando para Testes de Unidade
 
PWA: State of Art
PWA: State of ArtPWA: State of Art
PWA: State of Art
 
PWAs no seu Desktop
PWAs no seu DesktopPWAs no seu Desktop
PWAs no seu Desktop
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScript
 
Otimizando seu cenário de APIs
Otimizando seu cenário de APIsOtimizando seu cenário de APIs
Otimizando seu cenário de APIs
 
Turbine sua API no Microsoft Azure
Turbine sua API no Microsoft AzureTurbine sua API no Microsoft Azure
Turbine sua API no Microsoft Azure
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Migrando para o Angular 2
Migrando para o Angular 2Migrando para o Angular 2
Migrando para o Angular 2
 
BaaS com Firebase 3
BaaS com Firebase 3BaaS com Firebase 3
BaaS com Firebase 3
 
Otimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScriptOtimizando eu JavaScript com TypeScript
Otimizando eu JavaScript com TypeScript
 
Angular 2, TypeScript e Além
Angular 2, TypeScript e AlémAngular 2, TypeScript e Além
Angular 2, TypeScript e Além
 
Introdução ao Native Script
Introdução ao Native ScriptIntrodução ao Native Script
Introdução ao Native Script
 
Criando aplicações Híbridas com AngularJs, TypeScript e Material Design
Criando aplicações Híbridas com AngularJs, TypeScript e Material DesignCriando aplicações Híbridas com AngularJs, TypeScript e Material Design
Criando aplicações Híbridas com AngularJs, TypeScript e Material Design
 
Microsoft e o mundo do Desenvolvimento
Microsoft e o mundo do DesenvolvimentoMicrosoft e o mundo do Desenvolvimento
Microsoft e o mundo do Desenvolvimento
 
5509 segurança em ap is
5509   segurança em ap is5509   segurança em ap is
5509 segurança em ap is
 
5507 os principais design patterns
5507   os principais design patterns5507   os principais design patterns
5507 os principais design patterns
 
5505 otimizando frontends
5505   otimizando frontends5505   otimizando frontends
5505 otimizando frontends
 
Single Page Applications com ASP.NET 5
Single Page Applications com ASP.NET 5Single Page Applications com ASP.NET 5
Single Page Applications com ASP.NET 5
 

Progressive Web Apps: Um novo mundo