Projetando Mobile - PhoneGap

108
Projetando Mobile PhoneGAP By Igor Portela

description

Aula na Universidade Estácio de Sá => Pós-graduação em Mobilidade e Sistemas Embarcados - 2014

Transcript of Projetando Mobile - PhoneGap

Page 1: Projetando Mobile - PhoneGap

Projetando  MobilePhoneGAP  !By  Igor  Portela

Page 2: Projetando Mobile - PhoneGap

04/04/14 ‹#›

POR  QUE  MOBILE?

Quem sou eu?• Especialista em Mobilidade e Sistemas Embarcados –

Estácio de Sá • Certificado LPIC1 (Linux Professional Institute Certified), • CLA (Novell Certified Linux Administrator), • Novell Datacenter Technical Specialist. • CEO e fundador da Wake Up Digital. • Palestrante IEEE e Google I/O Extend • Curador do Startup Genome João Pessoa • Organizador de dois Startups Weekends

Page 3: Projetando Mobile - PhoneGap

Números  Gerais

   • 73%  não  saem  de  casa  sem  seus  dispositivos  móveis.  !

• 27  milhões  de  Brasileiros  tem  smartphones.  !

• 42%  usam  internet  em  seus  smartphones  pelo  menos  1x  ao  dia…  Destes  59%  para  acessar  redes  sociais,  57%  para  acessar  emails  e  55%  mecanismos  de  pesquisas.  !

• 27%  disseram  preferir  ficar  sem  TV  do  que  seu  celular.  !

• 50%  pesquisam  em  seus  smartphones  todos  os  dias…  destes  48%  procura  informações  sobre  produtos,  29%  restaurantes,  pubs  e  bares  e  28%  viagens.

04/04/14

Page 4: Projetando Mobile - PhoneGap

04/04/14 ‹#›

86% Comunicação

61%   manter-­‐se informado

92% Entretenimento

Usam redes sociais (atualizam status, verificam mensagem, visitam páginas de amigos)

72%

71%E-mails (enviaram ou receberam)

Leram notícias em jornais, portais e revistas.

57%

21%Analisaram websites, blogs e fóruns.

Navegaram na internet

79%

71%Ouviram música

46%Assistiram vídeos (Youtube)

39%Usaram jogos

Dados:  Our  Mobile  Planet  by  Google

Page 5: Projetando Mobile - PhoneGap

O  Uso  de  Aplicativos

   • 14  aplicativos  em  média  instalados  no  smartphone.  !

• 6  aplicativos  usados  nos  últimos  30  dias.  !

• 2  aplicativos  pagos  instalados  em  média.  !

• 88%  dos  usuários  acessam  Redes  Sociais  via  apps.  !• 50%  pesquisam  em  seus  smartphones  todos  os  dias…  destes  48%  procura  informações  sobre  produtos,  29%  restaurantes,  pubs  e  bares  e  28%  viagens.

04/04/14 !5Dados:  Our  Mobile  Planet  by  Google

Page 6: Projetando Mobile - PhoneGap

Mobilidade  possibilita:  Interações

!604/04/14

“…

88%  usam  smartphones  

quando    …”

15% Ouvem Música

46% Assistem

TV

55% Usam a Internet

26% Leem

revistas ou jornais

15% Leem livros

29% Assistem a

filmes

18% Jogam

videogames

Dados:  Our  Mobile  Planet  by  Google

Page 7: Projetando Mobile - PhoneGap

Mobilidade  possibilita:  Interações

   • 45%  pesquisaram  no  smartphone  e  depois  compraram  pelo  computador.  !

• 30%  pesquisaram  no  smartphone  e  depois  compraram  em  lojas  físicas.  !

• 31%  dos  usuários  de  smartphones  compraram  produto  ou  serviço  em  seus  aparelhos.  !

• 54%  desses  compradores  fizeram  uma  compra  no  mês  passado.

04/04/14 !7Dados:  Our  Mobile  Planet  by  Google

Page 8: Projetando Mobile - PhoneGap

Mobilidade  possibilita:  VENDAS

   • 4%  viram  ao  usar  mecanismos  de  pesquisas.  !

• 42%  viram  em  um  website.  !

• 31%  viram  em  um  aplicativo.  !

• 25%  viram  ao  assistir  um  vídeo.  !

• 24%  em  um  web  site  para  vídeos.  !

• 16%  em  um  website  varejista.

Onde  os  anúncios  para  celular  são  mais  notados

04/04/14 !8Dados:  Our  Mobile  Planet  by  Google

Page 9: Projetando Mobile - PhoneGap

!904/04/14

“…Ou  seja!  MOBILE  É…”

Page 10: Projetando Mobile - PhoneGap

!1004/04/14

“…Ou  seja!  MOBILE  É…”

Page 11: Projetando Mobile - PhoneGap

Pensando  mobile

Contexto  mobile  é  totalmente  diferente  do  contexto  desktop…  por  isso  devemos  pensar  diferente  também!  !No  mundo  mobile  (devido  à  limitações)  todos  somos  daltônicos  e  sofremos  mal  de  Parkinson.  !Atentar  a:     Interferências  de  pessoas,  sons,  visuais,  etc;     Tempo  dedicado  àquela  interação;     Culturas  diferentes  dos  diversos  usuários;     Devices  e  sistemas  operacionais  diferentes.

04/04/14 !11

Page 12: Projetando Mobile - PhoneGap

Pensando  mobile

!1204/04/14

Desktop

Page 13: Projetando Mobile - PhoneGap

Pensando  mobile

!1304/04/14

Desktop

Page 14: Projetando Mobile - PhoneGap

Pensando  mobile

!1404/04/14

Desktop

Page 15: Projetando Mobile - PhoneGap

Pensando  mobile

!1504/04/14

Desktop

Page 16: Projetando Mobile - PhoneGap

Pensando  mobile

!1604/04/14

Desktop

Page 17: Projetando Mobile - PhoneGap

Pensando  mobile

!1704/04/14

Desktop

Page 18: Projetando Mobile - PhoneGap

Pensando  mobile

!1804/04/14

Desktop

Page 19: Projetando Mobile - PhoneGap

Pensando  mobile

!1904/04/14

Desktop

Page 20: Projetando Mobile - PhoneGap

Pensando  mobile

!2004/04/14

Desktop

Page 21: Projetando Mobile - PhoneGap

Pensando  mobile

!2104/04/14

Desktop

Page 22: Projetando Mobile - PhoneGap

Pensando  mobile

!2204/04/14

Desktop

Page 23: Projetando Mobile - PhoneGap

Pensando  mobile

!2304/04/14

Mobile

Page 24: Projetando Mobile - PhoneGap

Pensando  mobile

!2404/04/14

Mobile

Page 25: Projetando Mobile - PhoneGap

Pensando  mobile

!2504/04/14

Mobile

Page 26: Projetando Mobile - PhoneGap

Pensando  mobile

!2604/04/14

Mobile

Page 27: Projetando Mobile - PhoneGap

Pensando  mobile

!2704/04/14

Mobile

Page 28: Projetando Mobile - PhoneGap

Pensando  mobile

!2804/04/14

Mobile

Page 29: Projetando Mobile - PhoneGap

Pensando  mobile

• Espaço  menor  que  do  desktop…  !

• Isso  é  um  ponto  positivo  ao  desenvolver  um  projeto  de  Design  para  mobile.  !

• Pouco  espaço  força  priorizar  o  que  é  mais  importante  no  conteúdo  que  deve  ser  exibido,  solucionando  de  uma  forma  mais  rápida  o  “problema”.  

!• Ao  desenvolver  para  mobile,  menos  é  mais!

04/04/14 !29

Page 30: Projetando Mobile - PhoneGap

04/04/14 ‹#›

OK!  VAMOS  AO  PROJETO  MOBILE!  :D

Page 31: Projetando Mobile - PhoneGap

04/04/14 ‹#›

1

Pesquisa,   Pesquisa,   Pesquisa!

Page 32: Projetando Mobile - PhoneGap

Tipos  de  Pesquisas

• Benchmarking  !

• Questionários  !

• Entrevistas  !

• Pesquisa  de  opinião

04/04/14 !32

Page 33: Projetando Mobile - PhoneGap

Tipos  de  Pesquisas:  Benchmarking

!3304/04/14

Page 34: Projetando Mobile - PhoneGap

04/04/14 ‹#›

2

Concepção

Page 35: Projetando Mobile - PhoneGap

Concepção

• Momento  VIAGEM!  !

• Brainstorms  !

• Uso  e  análises  de  produtos  semelhantes  !

• Definição  do  que  vai  ter  de  conteúdo,  informação  e  funcionalidades.

04/04/14 !35

Page 36: Projetando Mobile - PhoneGap

Concepção

• Momento  VIAGEM!  !

• Brainstorms  !

• Uso  e  análises  de  produtos  semelhantes  !

• Definição  do  que  vai  ter  de  conteúdo,  informação  e  funcionalidades.

04/04/14 !36

Page 37: Projetando Mobile - PhoneGap

Concepção

• Momento  VIAGEM!  !

• Brainstorms  !

• Uso  e  análises  de  produtos  semelhantes  !

• Definição  do  que  vai  ter  de  conteúdo,  informação  e  funcionalidades.

04/04/14 !37

Page 38: Projetando Mobile - PhoneGap

Concepção

!3804/04/14

Page 39: Projetando Mobile - PhoneGap

04/04/14 ‹#›

3  Arquitetura  da  Informação

Page 40: Projetando Mobile - PhoneGap

Arquitetura  da  Informação

• Desenvolver  as  melhores  navegações  e  interações  para  usuários  de  dispositivos  móveis.  !

• Priorizar  as  informações  e  conteúdo,  organizando-­‐os  de  maneira  clara  e  de  fácil  compreensão.  !

• Pensar  nas  plataformas  e  guidelines  existentes.  !

• Desenvolver  protótipos  navegáveis  para  visualização  das  navegações.  !

• Testar,  testar  e  testar  em  protótipo  (teste  de  usabilidade  em  protótipo,  grupo  de  foco,  etc).

04/04/14 !40

Page 41: Projetando Mobile - PhoneGap

Arquitetura  da  Informação

Guidelines  existentes:

• Android    http://developer.android.com/design/index.html  

!• IOS http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html  

!• Windows  Phonehttp://msdn.microsoft.com/en-­‐us/library/windowsphone/design

04/04/14 !41

Page 42: Projetando Mobile - PhoneGap

Arquitetura  da  Informação

!4204/04/14

Page 43: Projetando Mobile - PhoneGap

Arquitetura  da  Informação

!4304/04/14

Page 44: Projetando Mobile - PhoneGap

Arquitetura  da  Informação

!4404/04/14

Page 45: Projetando Mobile - PhoneGap

04/04/14 ‹#›

4

Design

Visual

Page 46: Projetando Mobile - PhoneGap

Design  Visual:  Processo

!4604/04/14Diagrama:  Jesse  James  Garrett

Page 47: Projetando Mobile - PhoneGap

Design  Visual:  Processo

!4704/04/14

Page 48: Projetando Mobile - PhoneGap

Design  Visual:  Processo

• Painel  visual:  Conceito

04/04/14 !48

Page 49: Projetando Mobile - PhoneGap

Design  Visual:  Processo

• Painel  visual:  Público  Alvo

04/04/14 !49

Page 50: Projetando Mobile - PhoneGap

Design  Visual:  Processo

• Pesquisa  de  referências  visuais

04/04/14 !50

Page 51: Projetando Mobile - PhoneGap

Design  Visual:  Processo

!5104/04/14

Forma

Page 52: Projetando Mobile - PhoneGap

Design  Visual:  Processo

!5204/04/14

Forma Cor

Page 53: Projetando Mobile - PhoneGap

Design  Visual:  Processo

!5304/04/14

Forma Cor Tipografia

Page 54: Projetando Mobile - PhoneGap

Design  Visual:  Processo

!5404/04/14

?

Page 55: Projetando Mobile - PhoneGap

!55

Design  Visual

Page 56: Projetando Mobile - PhoneGap

!56

Design  Visual:  Processo

Forma

Page 57: Projetando Mobile - PhoneGap

!57

Design  Visual:  Processo

Forma

Simbólico• Ícones

Page 58: Projetando Mobile - PhoneGap

!58

Design  Visual:  Processo

Forma

Simbólico

Físico

• Ícones

• Área  de  toque

Page 59: Projetando Mobile - PhoneGap

!59

Design  Visual:  Processo

Cor

Page 60: Projetando Mobile - PhoneGap

!60

Design  Visual:  Processo

Contraste

Cor

Page 61: Projetando Mobile - PhoneGap

!61

Design  Visual:  Processo

Contraste

FeedbackCor

Page 62: Projetando Mobile - PhoneGap

!62

Design  Visual:  Processo

Tipografia

Page 63: Projetando Mobile - PhoneGap

!63

Design  Visual:  Processo

Legibilidade

Tipografia

Page 64: Projetando Mobile - PhoneGap

!64

Design  Visual:  Processo

Legibilidade

HierarquiaTipografia

Page 65: Projetando Mobile - PhoneGap

Design  Visual:  Resoluções

• IOS:  iPhone

!65

iPhones  4  e  4s  640  px  x  960  px iPhones  5:  640  px  x  1136  px

Page 66: Projetando Mobile - PhoneGap

Design  Visual:  Resoluções

• Android

!66

Page 67: Projetando Mobile - PhoneGap

!67

Design  Visual

“  Um  objetivo  geral  do  design  de  interação  é  desenvolver  sistemas  interativos  que  provoquem  respostas  positivas  por  parte  dos  usuários,  como  sentir-­‐se  à  vontade,  confortável  e  apreciar  a  experiência  de  

estar  utilizando  tais  sistemas.  ”

Preece.  Design  de  interação:  Além  da  interação  homem-­‐computador

Page 68: Projetando Mobile - PhoneGap

04/04/14 ‹#›

5  Implementação

Page 69: Projetando Mobile - PhoneGap

Implementação

• Planejar  seu  cronograma,  pois  além  do  desenvolvimento  e  testes,  seu  aplicativo  passará  por  revisão  nas  App  Stores  (  Apple  Store,  Google  Play,  Windows  Store)  e  estará  sujeita  a  reprovação  !

• Definir  qual  é  a  tecnologia  que  será  utilizada  para  o  desenvolvimento  do  aplicativo.  Nativo  vs.  HTML5  

!69

Page 70: Projetando Mobile - PhoneGap

Nativo  vs  HTML5

• É  um  assunto  polêmico!!!  !

• As  duas  abordagens  tem  pontos  positivos  e  negativos  !

• Vamos  ver  algumas  comparações

!70

Page 71: Projetando Mobile - PhoneGap

!71

Nativo  vs  HTML5:  Custo

Nativo

HTML5

Page 72: Projetando Mobile - PhoneGap

!72

App  Nativo  vs  HTML5

Nativo HTML5

Custo X

Page 73: Projetando Mobile - PhoneGap

Nativo  vs  HTML5:  Performance

Consegue  aproveitar  ao  máximo  os  recursos  do  hardware

!73

Nativo

HTML5 Acesso  a  recursos  é  limitado  pela  capacidade  de  processamento  do  Browser/Web  View

Page 74: Projetando Mobile - PhoneGap

!74

App  Nativo  vs  HTML5

Nativo HTML5

Custo X

Performance X

Page 75: Projetando Mobile - PhoneGap

!75

Nativo  vs  HTML5:  Tempo  de  Desenvolvimento

Nativo

HTML5

Page 76: Projetando Mobile - PhoneGap

!76

App  Nativo  vs  HTML5

Nativo HTML5

Custo X

Performance X

Tempo  de  Desenvolvimento X

Page 77: Projetando Mobile - PhoneGap

!77

Nativo  vs  HTML5:  Divulgação

Nativo

HTML5

Page 78: Projetando Mobile - PhoneGap

!78

App  Nativo  vs  HTML5

Nativo HTML5

Custo X

Performance X

Tempo  de  Desenvolvimento X

Divulgação  (App  Store) X

Page 79: Projetando Mobile - PhoneGap

04/04/14 ‹#›

OK…ENTÃO  EU  FAÇO  UM  APLICATIVO  NATIVO  OU  EM  HTML5???

Page 80: Projetando Mobile - PhoneGap

A  resposta  é:

• Não  existe  resposta  certa!  !

• Existe  o  bom  senso  !

• Escolher  a  tecnologia  que  melhor  atenda  sua  necessidade,  esta  é  a  resposta  correta

!80

Page 81: Projetando Mobile - PhoneGap

Exemplo  1

Eu  preciso  de  um  aplicativo  que:  !

• Liste  todos  os  eventos  da  Campus  Party  !

• Exiba  as  informações  de  todos  os  palestrantes,  como  foto  e  descrição  !

• Mostre  as  perguntas  frequentes    sobre  o  evento  !

• Exiba  um  mapa  do  evento  e  acampamento

!81

Page 82: Projetando Mobile - PhoneGap

Exemplo  2:  

Eu  preciso  de  um  aplicativo  que:  !

• O  usuário  possa  tirar  uma  foto  com  o  dispositivo    !

• Processe  a  imagem  para  aplicar  diversos  filtros  na  foto  !

• O  usuário  tenha  a  possibilidade  de  compartilhar  essa  foto  por  redes  sociais  ou  bluetooth

!82

Page 83: Projetando Mobile - PhoneGap

!83

Final  do  Final

“…  Testar  uma  versão  beta  com  os  usuários  

 em  pontencial  …”

“…  Corrigir  eventuais  bugs  …”

“…  Fazer  atualizações  para  adicionar  novas  funcionalidades  …”

Page 84: Projetando Mobile - PhoneGap

!84

Quer saber mais? !

!

Então lá vai… vamos começar com PhoneGap!

Page 85: Projetando Mobile - PhoneGap

O  que  é  PhoneGap?

PhoneGap é uma soluções de código aberto para a construção de aplicativos móveis multi- plataformas com tecnologias web padrão como HTML, JavaScript e CSS

!85

Page 86: Projetando Mobile - PhoneGap

Um  pouco  da  história…  

Iniciado por Nitobi Software; Adobe adquire Nitobi em 2011; PhoneGap foi doado a Fundação Apache Software; Inicialmente chamado Apache Callback; Depois renomeado para Apache Cordova; http://cordova.apache.org/

!86

Page 87: Projetando Mobile - PhoneGap

Apache  Cordova  e  PhoneGap

PhoneGap é uma distribuição do Apache Cordova

Apache Cordova é o motor que move o PhoneGap

PhoneGap poderá possuir outras ferramentas da Adobe que não seriam apropriadas ao Projeto Apache

○ PhoneGap Build

!87

Page 88: Projetando Mobile - PhoneGap

Por  quê  o  phonegap?

!88

Page 89: Projetando Mobile - PhoneGap

Por  quê  o  phonegap?

!Problema: muitas plataformas, aparelhos e lojas de aplicativos. !Solução: utilizar o desenvolvimento web • Multi plataforma; • Padrões abertos; • Código aberto.

!89

Page 90: Projetando Mobile - PhoneGap

Plataformas?

!90

Page 91: Projetando Mobile - PhoneGap

Mais…

!91

PhoneGap é uma ponte entre o browser e as APIs disponíveis no aparelho. Permite acesso a recursos que normalmente não são acessíveis para o browser sozinho.

Page 92: Projetando Mobile - PhoneGap

Recursos

!92

Page 93: Projetando Mobile - PhoneGap

Arquitetura

!93

Page 94: Projetando Mobile - PhoneGap

Arquitetura

!94

Page 95: Projetando Mobile - PhoneGap

Mãos  à  obra

Veja  se  está  na  sua  máquina:  !

•Eclipse  •Android  SDK  •PhoneGap

!95

Page 96: Projetando Mobile - PhoneGap

• Baixe  o  Phonegap2.9.0  !

• Download  no  link  http:  //phonegap.com/install/

!96

Mãos  à  obra

Page 97: Projetando Mobile - PhoneGap

!97

Mãos  à  obra

Page 98: Projetando Mobile - PhoneGap

!98

Mãos  à  obra

Page 99: Projetando Mobile - PhoneGap

!99

Mãos  à  obra

Page 100: Projetando Mobile - PhoneGap

• Estrutura  do  projeto

!100

Mãos  à  obra

Page 101: Projetando Mobile - PhoneGap

!101

Mãos  à  obra

Page 102: Projetando Mobile - PhoneGap

Mãos  à  obra

Page 103: Projetando Mobile - PhoneGap

!103

Mãos  à  obra

Page 104: Projetando Mobile - PhoneGap

!104

Mãos  à  obra

Page 105: Projetando Mobile - PhoneGap

!105

DeviceReady

Page 106: Projetando Mobile - PhoneGap

!106

DeviceReady

Page 107: Projetando Mobile - PhoneGap

!107

Eventos

Page 108: Projetando Mobile - PhoneGap

!108

Eventos