Características de apps

Preview:

Citation preview

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''

Padrões'

Poucas'opçõ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'–  Rede'de'celular'– WilFi'–  Bluetooth'

•  Localização'–  GPS'–  Bússola'

•  Saídas'–  Vibração'

–  Altofalante'–  Tela'

•  Sensores'–  Tela'mul1toque'–  Câmera'– Microfone'–  Acelerômetro,'giroscópio'

–  Sensor'de'luz'ambiente'–  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/theltroublelwithlcontext'

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'

–  tamanho'dos'botões'–  navegação'

•  Mul1tarefa'–  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'

As'diferenças'estão'diminuindo:'no'Mac'OS'X'Mountain'Lion'(sistema'operacional'desktop),'programas'têm'estado'e'rodam'em'uma'sandbox.'

Próxima'aula'

•  Mercado'de'apps'

Depois'

•  Ferramentas'para'desenvolvimento'de'apps'móveis'

•  Na1vo,'web,'híbrido'

Recommended