SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
MATC89'–'Aula'2'

 Chris1na'von'Flach'
   Rodrigo'Rocha'
HISTÓRICO)(CONT.))
WAP'
h<p://www.flickr.com/photos/agecombahia/4178529451/sizes/l/in/photostream/'
h<p://www.flickr.com/photos/wildhaber/5976264120/sizes/l/in/photostream/'
h<p://www.flickr.com/photos/girlontheles/6928438272/sizes/l/in/photostream/'
h<p://www.flickr.com/photos/m41k/4687194723/sizes/l/'
Open'Handset'Alliance'
•  Mo1vação'

        WEB)            MOBILE)

      Liberdade'     Poucas'opções'
          '                 '
       Padrões'       Tecnologias'
                      proprietárias'
                            '
Open'Handset'Alliance'
•  Padrões'abertos'para'disposi1vos'móveis'
•  Google,'Samsumg,'Intel'etc.'
•  2007'
Android'
•  Android,'Inc.'–'2003'
•  Comprada'pela'Google'
   –'2005'
•  Anunciado'em'2007,'
   junto'com'a'Open'
   Handset'Alliance'
Android'
•  Versão'1.0'
•  23'set'2008'
INTRODUÇÃO)AO)DESENVOLVIMENTO)
DE)APPS)MÓVEIS)
Escopo'da'Disciplina'
•  Foco'em'smartphones+da'era'touch+
•  Em'parte,'tablets'
O'que'é'um'app?'
•  Abreviação'para'aplica1vo'/'aplicação'
•  Tipicamente,'um'programa...'
    –  Pequeno'
    –  Especializado'
•  Baixado'para'disposi1vos'móveis'
    –  Tipicamente'através'de'uma'loja'especializada'em'
       apps'(“app'store”)'


(Fonte:'Dic1onary.com)'
Desenvolvimento'de'Apps'
•  Desenvolver'apps'é'diferente'
  –  O'hardware'é'diferente'
  –  O'sistema'operacional'é'diferente'
  –  As'pessoas'têm'expecta1vas'diferentes'
Hardware'
•  Conec1vidade'                –  Altofalante'
   –  Rede'de'celular'          –  Tela'
   –  WilFi'                 •  Sensores'
   –  Bluetooth'                –  Tela'mul1toque'
•  Localização'                 –  Câmera'
   –  GPS'                      –  Microfone'
   –  Bússola'                  –  Acelerômetro,'
                                   giroscópio'
•  Saídas'
                                –  Sensor'de'luz'ambiente'
   –  Vibração'
                                –  Sensor'de'proximidade'
Limitações'do'Hardware'
•  Mobilidade'
  –  Energia'limitada'(bateria)'
  –  Internet'intermitente'(sinal'WilFi,'3G)'
  –  Pouco'espaço'(memória'fla$h)'
  –  Tela'pequena'–'mín'2,5”'(240x320)'
•  Economia'de'energia'
  –  Processador'mais'lento'
Bateria'
•  É'bom'economizar'
•  GPS'e'rede'gastam'muita'bateria'
  –  Faça'um'cache'de'dados'remotos'
•  Cuidado'redobrado'com'apps'que'rodam'em'
   background'
Internet'nãolconfiável'
•  Faça'cache'dos'dados'remotos'
•  Se'possível,'use'o'banco'de'dados'local'
•  Ofereça'alguma'funcionalidade'para'quem'
   está'sem'Internet'
Memória'limitada'
•  Não'há'memória'virtual'em'disco'
  –  O'sistema'ocupa'uma'parte'da'memória'
•  O'sistema'no1fica'seu'app'quando'a'memória'
   está'baixa'
  –  hora'de'apagar'caches'da'memória'
  –  ex.:'telas'que'estão'sob'outras'telas'
  –  (recarregue'as'telas'quando'necessário)'
Um'app'de'cada'vez'
•  Normalmente,'o'sistema'executa'um'app'por'
   vez'
  –  O'app'pode'ser'interrompido'por'uma'ligação...'
  –  ...'ou'o'usuário'pode'abrir'outro'app'
  –  quando'volta'para'seu'app,'é'bom'con1nuar'de'
     onde'parou'
Sandbox'
•    Cada'app'roda'em'uma'sandbox'
•    Não'tem'acesso'a'arquivos'de'outros'apps'
•    Apps'não'compar1lham'memória'
•    Acesso'a'serviços'de'sistema'é'controlado'
     –  câmera'
     –  internet'
•  Apps'são'assinados'
     –  previne'pirataria'(mais'ou'menos)'
     –  evita'que'arquivos'do'app'sejam'alterados'
Sandbox'
•  Esse'conceito'está'presente'no'desktop'
  –  Browsers'(cada'aba'é'um'processo)'
  –  Apps'da'Mac'App'Store'
A'tela'é'pequena...'
•  Não'dá'para'mostrar'tudo'de'uma'vez'
  –  Mais'navegação'entre'telas'
  –  Mais'rolagem'
  –  Mais'zoom'in/zoom'out'
...'e'o'dedo'é'grande'
•  Impreciso'
  –  Botões'devem'ser'grandes'
  –  ou'ter'borda'transparente'
•  Não'tem'"botão'direito"'do'dedo'
•  Mas'dá'pra'usar'dois'dedos'(ou'mais,'em'
   tablets)'
  –  movimento'de'pinça'(zoom)'
  –  rotação'
  –  joys1ck'
O'teclado'é'pequeno...'
•  E'muitas'vezes,'virtual'
•  Poupe'o'usuário'de'digitar'o'tempo'todo'
...'mas'há'outras'fontes'de'informação'
•  Câmera'
   –  1rar'foto'de'código'de'barras'
•  GPS'
   –  buscar'restaurantes'perto'de'você'
•  Internet'
   –  como'está'o'tempo'em'sua'cidade'
•  Microfone'
   –  tecnologia'falalparaltexto'
•  Acelerômetro'
   –  jogos'de'corrida'
•  Bússola'
   –  apontar'para'uma'constelação'e'descobrir'seu'nome'
Fragmentação'
•  Tamanho'de'tela'
•  Recursos'(câmera,'GPS,'...)'
•  Várias'plataformas'
Sempre'alerta!'
•  O'disposi1vo'está'sempre'ligado'
  –  o'usuário'pode'querer'usar'seu'app'por'10'
     segundos...'
  –  ele'não'vai'querer'esperar'5'segundos'para'o'app'
     abrir'
     •  e'nem'o'SO'espera'
Usuários'exigentes'
•  O'app'tem'de...'
  –  ser'bonito'
  –  ser'fácil'de'usar'
  –  ser'familiar'(seguir'convenções'de'outros'apps)'
O'contexto'do'usuário'
•  Fonte:'h<p://www.slideshare.net/yiibu/thel
   troublelwithlcontext'
The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.
DESENVOLVIMENTO)MOBILE))
VS)WEB)VS)DESKTOP)
Mobile'vs.'Web'
•  Acesso'a'banco'de'dados'remoto'
   –  web:'às'vezes'o'banco'de'dados'está'na'mesma'máquina'
   –  apps:'via'web'services'(não'há'muitos'drivers'para'bancos'
      de'dados)'
•  Estado'
   –  web:'sem'estado'(requisição,'resposta)'
   –  app:'com'estado'(e'gerencia'rotação'de'tela,'warnings'de'
      memória...)'
•  Conec1vidade'
   –  web:'dados,'lógica'e'visual'dependem'de'rede'
   –  app:'conteúdo'offline'e'cache'de'conteúdo'online'
Mobile'vs.'Web'
•  Atualização'
  –  web:'instantânea'
  –  app:'deve'ser'copiado'para'disposi1vos'
•  Compa1bilidade'e'padrões:'
  –  web:'baseado'em'padrões,'mas'resultado'
     depende'do'navegador'
  –  app:'feito'para'uma'plataforma'específica'
Mobile'vs.'Desktop'
•  Tamanho'de'tela'              As'diferenças'estão'diminuindo:'no'Mac'OS'X'
   –  tamanho'dos'botões'        Mountain'Lion'(sistema'operacional'desktop),'
   –  navegação'                 programas'têm'estado'e'rodam'em'uma'
•  Mul1tarefa'                   sandbox.'
   –  desktop'é'mul1tarefa'
•  Encerramento'do'programa'
   –  desktop:'tem'certeza'de'que'deseja'sair?'
   –  mobile:'seu'programa'tem'de'fechar'em'5'segundos'
•  Estado'
   –  normalmente,'sistemas'desktop'começam'sempre'do'mesmo'ponto;'
      apps'móveis'devem'guardar'o'estado'ao'fechar'
•  Sandbox'
   –  sistemas'desktop'têm'acesso'quase'irrestrito'ao'sistema'
Próxima'aula'
•  Mercado'de'apps'
Depois'
•  Ferramentas'para'desenvolvimento'de'apps'
   móveis'
•  Na1vo,'web,'híbrido'

Mais conteúdo relacionado

Semelhante a Aula sobre desenvolvimento de apps móveis

HTML5 Mobile Aula 1
HTML5 Mobile Aula 1HTML5 Mobile Aula 1
HTML5 Mobile Aula 1Jose Berardo
 
Segurança em aplicativos móveis de comunicação - Cnasi 2016
Segurança em aplicativos móveis de comunicação - Cnasi 2016Segurança em aplicativos móveis de comunicação - Cnasi 2016
Segurança em aplicativos móveis de comunicação - Cnasi 2016Tiago Tavares
 
Faculdade: Trabalho sobre Seguranca Digital ( Versão em Slides )
Faculdade: Trabalho sobre Seguranca Digital ( Versão em Slides )Faculdade: Trabalho sobre Seguranca Digital ( Versão em Slides )
Faculdade: Trabalho sobre Seguranca Digital ( Versão em Slides )Rafael Biriba
 
A Internet das Coisas
A Internet das CoisasA Internet das Coisas
A Internet das CoisasLuiz Avila
 
Computação Ubiqua e Verde
Computação Ubiqua e VerdeComputação Ubiqua e Verde
Computação Ubiqua e Verdeelliando dias
 
Programando pra Celular!? Java ME: o que é e como começar
Programando pra Celular!? Java ME: o que é e como começarProgramando pra Celular!? Java ME: o que é e como começar
Programando pra Celular!? Java ME: o que é e como começarLucas Torri
 
Uso acessivel - O cumprimento das premissas na web contemporânea
Uso acessivel - O cumprimento das premissas na web contemporâneaUso acessivel - O cumprimento das premissas na web contemporânea
Uso acessivel - O cumprimento das premissas na web contemporâneaGabriel Luiz Ramos
 
Apresentação de Trabalho - Computação Pervasiva Como Evolução do Hardware e S...
Apresentação de Trabalho - Computação Pervasiva Como Evolução do Hardware e S...Apresentação de Trabalho - Computação Pervasiva Como Evolução do Hardware e S...
Apresentação de Trabalho - Computação Pervasiva Como Evolução do Hardware e S...Fábio Conceição
 
BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]Brapps Brasil
 
Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011Tadeu Araujo
 
Internet das Coisas - Na nuvem além da telemetria
Internet das Coisas - Na nuvem além da telemetriaInternet das Coisas - Na nuvem além da telemetria
Internet das Coisas - Na nuvem além da telemetriaAndré Curvello
 
Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)elliando dias
 
O computador invisível
O computador invisívelO computador invisível
O computador invisívelJimmyAndrade
 
Forense em SmartPhone e uma Introdução a Computação Forense.
Forense em SmartPhone e uma Introdução a Computação Forense.Forense em SmartPhone e uma Introdução a Computação Forense.
Forense em SmartPhone e uma Introdução a Computação Forense.Julio Cesar Roque Benatto
 

Semelhante a Aula sobre desenvolvimento de apps móveis (20)

Mercado de apps
Mercado de appsMercado de apps
Mercado de apps
 
Projeto Sun SPOT
Projeto Sun SPOTProjeto Sun SPOT
Projeto Sun SPOT
 
HTML5 Mobile Aula 1
HTML5 Mobile Aula 1HTML5 Mobile Aula 1
HTML5 Mobile Aula 1
 
Segurança em aplicativos móveis de comunicação - Cnasi 2016
Segurança em aplicativos móveis de comunicação - Cnasi 2016Segurança em aplicativos móveis de comunicação - Cnasi 2016
Segurança em aplicativos móveis de comunicação - Cnasi 2016
 
Faculdade: Trabalho sobre Seguranca Digital ( Versão em Slides )
Faculdade: Trabalho sobre Seguranca Digital ( Versão em Slides )Faculdade: Trabalho sobre Seguranca Digital ( Versão em Slides )
Faculdade: Trabalho sobre Seguranca Digital ( Versão em Slides )
 
A Internet das Coisas
A Internet das CoisasA Internet das Coisas
A Internet das Coisas
 
Computação Ubiqua e Verde
Computação Ubiqua e VerdeComputação Ubiqua e Verde
Computação Ubiqua e Verde
 
Programando pra Celular!? Java ME: o que é e como começar
Programando pra Celular!? Java ME: o que é e como começarProgramando pra Celular!? Java ME: o que é e como começar
Programando pra Celular!? Java ME: o que é e como começar
 
Uso acessivel - O cumprimento das premissas na web contemporânea
Uso acessivel - O cumprimento das premissas na web contemporâneaUso acessivel - O cumprimento das premissas na web contemporânea
Uso acessivel - O cumprimento das premissas na web contemporânea
 
Morse Talks: Mobile Meets Big Data
Morse Talks: Mobile Meets Big DataMorse Talks: Mobile Meets Big Data
Morse Talks: Mobile Meets Big Data
 
Apresentação de Trabalho - Computação Pervasiva Como Evolução do Hardware e S...
Apresentação de Trabalho - Computação Pervasiva Como Evolução do Hardware e S...Apresentação de Trabalho - Computação Pervasiva Como Evolução do Hardware e S...
Apresentação de Trabalho - Computação Pervasiva Como Evolução do Hardware e S...
 
BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
 
Arduino Overview
Arduino OverviewArduino Overview
Arduino Overview
 
Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011Apresentacao jornada-unesp-2011
Apresentacao jornada-unesp-2011
 
Internet das Coisas - Na nuvem além da telemetria
Internet das Coisas - Na nuvem além da telemetriaInternet das Coisas - Na nuvem além da telemetria
Internet das Coisas - Na nuvem além da telemetria
 
Segurança em Nuvem - Aspectos Práticos
Segurança em Nuvem - Aspectos PráticosSegurança em Nuvem - Aspectos Práticos
Segurança em Nuvem - Aspectos Práticos
 
Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)
 
O computador invisível
O computador invisívelO computador invisível
O computador invisível
 
Protótipos
Protótipos  Protótipos
Protótipos
 
Forense em SmartPhone e uma Introdução a Computação Forense.
Forense em SmartPhone e uma Introdução a Computação Forense.Forense em SmartPhone e uma Introdução a Computação Forense.
Forense em SmartPhone e uma Introdução a Computação Forense.
 

Mais de Rodrigo Rocha

Aula: busca e ordenação
Aula: busca e ordenaçãoAula: busca e ordenação
Aula: busca e ordenaçãoRodrigo Rocha
 
Patterns for Extracting High Level Information from Bug Reports
Patterns for Extracting High Level Information from Bug ReportsPatterns for Extracting High Level Information from Bug Reports
Patterns for Extracting High Level Information from Bug ReportsRodrigo Rocha
 
Patterns for Cleaning Up Bug Data
Patterns for Cleaning Up Bug DataPatterns for Cleaning Up Bug Data
Patterns for Cleaning Up Bug DataRodrigo Rocha
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Rodrigo Rocha
 
Mineração de Repositórios de Defeitos
Mineração de Repositórios de DefeitosMineração de Repositórios de Defeitos
Mineração de Repositórios de DefeitosRodrigo Rocha
 
2011 seminario rodrigo 2011
2011 seminario rodrigo 20112011 seminario rodrigo 2011
2011 seminario rodrigo 2011Rodrigo Rocha
 
2012 qualificacao-rodrigo-2012
2012 qualificacao-rodrigo-20122012 qualificacao-rodrigo-2012
2012 qualificacao-rodrigo-2012Rodrigo Rocha
 
2012 doutorado - visita de dalton - comentarios de dalton, roberto e christina
2012 doutorado - visita de dalton - comentarios de dalton, roberto e christina2012 doutorado - visita de dalton - comentarios de dalton, roberto e christina
2012 doutorado - visita de dalton - comentarios de dalton, roberto e christinaRodrigo Rocha
 
Characterizing Verification of Bug Fixes in Two Open Source IDEs (MSR 2012)
Characterizing Verification of Bug Fixes in Two Open Source IDEs (MSR 2012)Characterizing Verification of Bug Fixes in Two Open Source IDEs (MSR 2012)
Characterizing Verification of Bug Fixes in Two Open Source IDEs (MSR 2012)Rodrigo Rocha
 

Mais de Rodrigo Rocha (10)

Aula: busca e ordenação
Aula: busca e ordenaçãoAula: busca e ordenação
Aula: busca e ordenação
 
Patterns for Extracting High Level Information from Bug Reports
Patterns for Extracting High Level Information from Bug ReportsPatterns for Extracting High Level Information from Bug Reports
Patterns for Extracting High Level Information from Bug Reports
 
Patterns for Cleaning Up Bug Data
Patterns for Cleaning Up Bug DataPatterns for Cleaning Up Bug Data
Patterns for Cleaning Up Bug Data
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)
 
Beabá do R
Beabá do RBeabá do R
Beabá do R
 
Mineração de Repositórios de Defeitos
Mineração de Repositórios de DefeitosMineração de Repositórios de Defeitos
Mineração de Repositórios de Defeitos
 
2011 seminario rodrigo 2011
2011 seminario rodrigo 20112011 seminario rodrigo 2011
2011 seminario rodrigo 2011
 
2012 qualificacao-rodrigo-2012
2012 qualificacao-rodrigo-20122012 qualificacao-rodrigo-2012
2012 qualificacao-rodrigo-2012
 
2012 doutorado - visita de dalton - comentarios de dalton, roberto e christina
2012 doutorado - visita de dalton - comentarios de dalton, roberto e christina2012 doutorado - visita de dalton - comentarios de dalton, roberto e christina
2012 doutorado - visita de dalton - comentarios de dalton, roberto e christina
 
Characterizing Verification of Bug Fixes in Two Open Source IDEs (MSR 2012)
Characterizing Verification of Bug Fixes in Two Open Source IDEs (MSR 2012)Characterizing Verification of Bug Fixes in Two Open Source IDEs (MSR 2012)
Characterizing Verification of Bug Fixes in Two Open Source IDEs (MSR 2012)
 

Aula sobre desenvolvimento de apps móveis