49
8º Connecting Knowledge HEIDER LOPES Web App

8ºConnecting Knowledge Web ou App

Embed Size (px)

Citation preview

Page 1: 8ºConnecting Knowledge Web ou App

8º Connecting KnowledgeHEIDER LOPES

Web App

Page 2: 8ºConnecting Knowledge Web ou App

Heider Lopes

• Pós-Graduado em Sistemas e Desenvolvimento Web

• Analista Programador

• THT Member

Page 3: 8ºConnecting Knowledge Web ou App

Redes Sociais do THT Member

twitter.com/heiderlopes

github.com/heiderlopes

slideshare.net/heiderlopes

www.heiderlopes.com.br

Page 4: 8ºConnecting Knowledge Web ou App

Agenda• Introdução

• Web ou App?

• Estratégias de Desenvolvimento

• Conclusão

Page 5: 8ºConnecting Knowledge Web ou App

Introdução

Page 6: 8ºConnecting Knowledge Web ou App

Oportunidades

Page 7: 8ºConnecting Knowledge Web ou App

Introdução

Você acaba de ter a idéia de criar um

aplicativo!!!

Page 8: 8ºConnecting Knowledge Web ou App

Por que tem que ser mobile?

Page 9: 8ºConnecting Knowledge Web ou App

Rápida Pesquisa

Em qual dessas situações você utiliza seu celular?Enquanto espera para ser atendidoNo carro de caronaNo transporte públicoEnquanto espera o inicio de um evento (CK, cinema, teatro, entre outros)Enquanto trabalhaNo banheiroEnquanto assiste TVEnquanto conversa com os amigos

Page 10: 8ºConnecting Knowledge Web ou App

Por que mobile?

Page 11: 8ºConnecting Knowledge Web ou App

Quanto mais melhor

“Normalmente”queremos atingir a maior

quantidade de usuários

Page 12: 8ºConnecting Knowledge Web ou App

Plataformas Mobile

Porém no deparamos com diversas

plataformas

Page 13: 8ºConnecting Knowledge Web ou App

E AGORA???

Page 14: 8ºConnecting Knowledge Web ou App
Page 15: 8ºConnecting Knowledge Web ou App

Relembrando: Web X Desktop

Page 16: 8ºConnecting Knowledge Web ou App

Web ou App?

Page 17: 8ºConnecting Knowledge Web ou App

Deadline de entrega

App

• Criar um aplicativo para cada plataforma

• Conhecer diferentes linguagens (de acordo com a plataforma a ser desenvolvida)

Web

• O aplicativo irá abranger diversas plataformas do mercado (Phonegap/Cordova)

• Baixo ou nenhum retrabalho para migrar para cada plataforma suportada

Page 18: 8ºConnecting Knowledge Web ou App

Orçamento Disponível

App

• Curva de aprendizado para cada plataforma

• Mão de obra distintas / Maior custo

• Dificil/impossível reutilização entre as plataformas

Web

• Curva de aprendizado web (HTML5/CSS3/JS)

• Redução de custo

• Reutilização do código

Page 19: 8ºConnecting Knowledge Web ou App

Integração com Hardware

App

• Acesso direto ao hardware

• Acesso a recurso do sistema operacional

• Integração com funções avançadas e a outras Apps

• Manipulação do aparelho

Web

• Não tem acesso direto a plataforma nativa

• Roda dentro de um navegador

• Acesso a recursos através de APIs (câmera, geolocalização, acelerômetro, giroscópio, animações 3D)

Page 20: 8ºConnecting Knowledge Web ou App

Segurança e Privacidade

App

• Restrições explícitas que o usuário tem que aprovar (Loja)

• Lojas com mecanismos de aprovação

• Detecção de códigos maliciosos

• Maior acesso a dados do usuário e altos privilégios

Web

• Restrição de segurança

• Menor acesso a dados do usuário e baixo privilégios

Page 21: 8ºConnecting Knowledge Web ou App

Performance

App

• Normalmente mais rápidos

• Rodam direto no Sistema Operacional

• App precisa ser instalada (podendo ser um processo lento)

Web

• Roda dentro do navegador que interpreta seu HTML/CSS/JS

• *Precisa ser baixada do servidor com suas dependências

Page 22: 8ºConnecting Knowledge Web ou App

Usabilidade e visual

App

• Mais familiar para o usuário– Componentes– Navegação

Web

• Preferência linguagem visual única na web

Page 23: 8ºConnecting Knowledge Web ou App

Instalação e distribuição

App

• Precisa ser instalada (geralmente pela loja)

• Custo para ser desenvolvedor cadastrado

• Submeter apps para aprovação

• Baixa a aplicação completa

• Exposição e busca na Loja

Web

• Abre o link do navegador

• Pode adicionar aos favoritos na tela inicial

• Permissões mais avançadas são solicitadas pelo navegador

• Acesso sempre a versão mais recente

• Busca através de sites

Page 24: 8ºConnecting Knowledge Web ou App

Monetização

App

• Lojas são plataformas de pagamento integradas

• Baixo trabalho para o usuário comprar apps e assinaturas

Web

• Serviços de pagamentos

Page 25: 8ºConnecting Knowledge Web ou App

Web First e Mobile First

Page 26: 8ºConnecting Knowledge Web ou App
Page 27: 8ºConnecting Knowledge Web ou App

Site Mobile

• Possuem layout muito resumido, carregando poucas imagens para serem carregados mais rápidos

http://m.site.com.br ou http://mobile.site.com.br

Page 28: 8ºConnecting Knowledge Web ou App

Design Responsivo

Page 29: 8ºConnecting Knowledge Web ou App

Media Queries

Expressões que direcionam o usuário para uma folha de estilo diferente de acordo com o

dispositivo que ele esta usando.

Page 30: 8ºConnecting Knowledge Web ou App

O que podemos definir com MQ

• Tipo de dispositivo – Móvel,– Monitores– Impressão– etc)

• Tela– Largura– Orientação– Resolução– Proporção de tela

Page 31: 8ºConnecting Knowledge Web ou App

Layout Fluído

Segredo é não usar pixels nas medidas e sim porcentagens e ems para um layout mais

fluído e flexível

Page 32: 8ºConnecting Knowledge Web ou App

Imagens Flexíveis

Imagem devem se adaptar à todo tipo de resolução

Page 33: 8ºConnecting Knowledge Web ou App

Link Demo: https://github.com/daniguerrato/design-responsivo-demo

Page 34: 8ºConnecting Knowledge Web ou App
Page 35: 8ºConnecting Knowledge Web ou App

Estratégias de Desenvolvimento

Page 36: 8ºConnecting Knowledge Web ou App

Desenvolvimento Nativo

Os aplicativos são desenvolvidos especificamente para uma plataforma utilizando a linguagem e

as APIs do dispositivo.

Page 37: 8ºConnecting Knowledge Web ou App

Android

Page 38: 8ºConnecting Knowledge Web ou App

iOS

Page 39: 8ºConnecting Knowledge Web ou App

Windows Phone

Page 40: 8ºConnecting Knowledge Web ou App

Mobile Web Apps

São sites que diversas formas parecem um aplicativo nativo. São executados através de

um navegador.

Page 41: 8ºConnecting Knowledge Web ou App

Funcionalidades Acessíveis

• Esconder botão do navegador

• Gestos de navegação

• Cache do navegador

• GPS

• Link para ligação direta

Page 42: 8ºConnecting Knowledge Web ou App

Funcionalidades Inacessíveis

• Uso de notificação do Sistema Operacional

• Execução em segundo plano

• Informações do acelerômetro

• Gestos complexo

Page 43: 8ºConnecting Knowledge Web ou App

Desenvolvimento Híbrido

São parcialmente nativos e parcialmente web apps.

Page 44: 8ºConnecting Knowledge Web ou App

Sencha Touch

Page 45: 8ºConnecting Knowledge Web ou App

Phonegap/Cordova

Page 46: 8ºConnecting Knowledge Web ou App

IONIC Framework

Page 47: 8ºConnecting Knowledge Web ou App

Conclusão

App

• Objetivo bem definido

• Performance perfeita

• Uso intensivo do hardware

• Aplicativo off-line

Web

• Criar mínimo produto viável

• Desenvolvimento rápido

• Público alvo heterogêneo

• Não exige alta performance

• Não ter problema em exigir o usuário conectado a internet

Page 48: 8ºConnecting Knowledge Web ou App

Dúvidas

Page 49: 8ºConnecting Knowledge Web ou App

THT nas Redes Sociais

MEETUP.COM/THT-THINGS-HACKER-TEAM

THINGS HACKER TEAM

SLIDESHARE.NET/THINGSHACKERTEAM

TWITTER.COM/THINGSHACKERTM

GITHUB.COM/THINGSHACKERTEAM

FACEBOOK.COM/THINGSHACKERTEAM

WWW.THINGSHACKERTEAM.COM