Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Introdução ao Desenvolvimento 
para Dispositivos Móveis
Victor Adriel de Jesus Oliveira
INF - UFRGS
PARTE I
About Me
Victor Adriel de J. Oliveira
PhD student in Computer Science - UFRGS
- Design and Assessment of Haptic Interfaces
Masters in Computer Science - UFRGS (2014)
- Designing Tactile Vocabularies for Human-Computer 
Interaction
Computer Scientist - UESC (2012)
- Acessibilidade em Sites e Sistemas Web
Member of the EuroHaptics Society (EHS), of the 
Technical Committee on Haptics (TCH), of the Institute 
of Electrical and Electronics Engineers (IEEE), and of the 
Sociedade Brasileira de Computação (SBC)
Summary
• PARTE I
• Introdução a Plataformas Móveis
• Padrões para o Desenvolvimento de Aplicativos
• Prototipagem de Apps Móveis (+ prática)
• Programação de Apps Híbridos com HTML (+ prática)
• PARTE II
• Programação de Apps Híbridos com HTML (+ prática)
• Programação de Apps Nativos com Android (+ prática)
• Novos Usos para Dispositivos Móveis
Plataformas Móveis
O que é um dispositivo móvel?
• Dispositivo computadorizado que caiba no bolso
• Que funcione e se utilize em movimento
5
A cada dia mais móvel
Hoje, carregamos um poder computacional maior nos nossos bolsos
do que tínhamos no mundo inteiro há 60 anos.
Ubiquo e Pervasivo
MAINFRAME
Muitas pessoas dividem 1 computador
PC
1 pessoa com 1 computador
Ubiquo e Pervasivo
Computação Ubiqua
Vários computadores servem cada pessoa
• Princípios da computação ubiqua
• O objetivo de um computador é ajudar-nos a realizar alguma tarefa
• O melhor computador é tranquilo, como um servo invisível
• Quanto mais coisas você puder fazer usando sua intuição, mais 
esperto você é; o computador deve estender o seu inconsciente
Ubiquo e Pervasivo
Mark Weiser (1952 – 1999)
“As tecnologias mais profundas são aquelas que 
desaparecem. Misturam-se na vida cotidiana o 
ponto em que não podem mais ser distinguidas.”
Desafios no Desenvolvimento de Apps Móveis
• Recursos físicos limitados
• Contextos de uso diversificados
• Diferentes atividades
• Atenção limitada
Desafios no Desenvolvimento de Apps Móveis
• Recursos físicos limitados
• CPU, Memória, Tamanho da Tela, Dispositivos de Entrada, Tempo 
de Bateria, Telas pequenas...
Doodle: Web Version Doodle: App
Desafios no Desenvolvimento de Apps Móveis
• Contextos de uso diversificados
Desafios no Desenvolvimento de Apps Móveis
• Diferentes atividades
Lembretes Anotando Receitas To-Do lists
Desafios no Desenvolvimento de Apps Móveis
• Atenção limitada
Repense o design se uma tarefa típica na sua solução atual requer 
mais de 10 minutos seguidos de operação para um usuário médio
Técnicas de Interação com Dispositivos Móveis
JustDance Siri, Cortana, 
Google Assistant
QR Codes
• Apontamento, entrada por voz, entrada por imagem…
Dispositivos Móveis Hoje
17
Dispositivos Móveis Hoje
18
Dispositivos Móveis Hoje
19
Dispositivos Móveis Hoje
20
Dispositivos Móveis Hoje
21
Comentários Finais
• Computação ubiqua e pervasiva
• O desenvolvimento para aplicações móveis possue desafios 
intrínsecos 
• O S.O. Android lidera vendas
Projetando Apps
iOS Human Interface Guidelines
iOS Human Interface Guidelines
• O que devemos fazer para que nossas Apps sejam aceitas 
na Apple app store?
• iOS Human Interface Guidelines
• https://goo.gl/2sXmNS
• Muito detalhado com recomendações genéricas e específicas
• Design diferenciado em três pontos básicos:
• Clareza
• Deferência
• Profundidade
https://goo.gl/2sXmNS
iOS Human Interface Guidelines
• Ao projetar interfaces para o iOS, tenha em mente os 
seguintes princípios:
• Priorize a integridade estética
• Matenha consistência com elementos conhecidos pelos usuários
• Permita manipulação direta dos elementos na tela
• Forneça feedback sobre o estado do app e ações
• Metáforas facilitam a compreensão pelo usuário
• Priorize o controle do usuário sobre o sistema
Novidades no iOS 10
• É possível adicionar widgets na tela Pesquisa e na tela inicial
• Integração com mensagens para compartilhar conteúdos 
específicos do app
• Integração de apps com Siri
• Notificações expandidas usando 3D Touch (ação disparada 
ao pressionar a tela) 
Android Styleguide
Android Styleguide
• Mais bonito do que o HIG da Apple
• Android user interface guidelines [general]
• Parte de 3 premissas básicas
• Encante-me
• Simplifique minha vida
• Surpreenda-me
Material Design
• Material Design é um guia completo para design visual, de 
movimento, e de interação em diferentes plataformas e 
dispositivos
• É definido como uma linguagem visual que sintetiza os 
princípios clássicos de bom design 
• O guia do Material Design é constantemente atualizado e 
pode ser acessado em: https://material.google.com/
https://material.google.com/
Windows Phone Design Guidelines
32
Windows Phone Design Guidelines
• Design Guidelines for Windows Phone
• Projeto guiado por 4 princípios básicos
• Matenha Isso Simples
• Faça Algo Pessoal
• Pense Universal
• Crie Algo Prazeroso
33
Windows Phone Design Guidelines
• As interfaces para Windows Phone são geralmente muito 
simples
• A tipografia (fonte, tamanho, cor do texto) é o que define 
estrutura e fluxo nos apps
• A documentação da Microsoft é direta e simplificada para 
desenvolvedores, mas menos detalhada que a do Android 
https://go.microsoft.com/fwlink/p/?LinkId=760679
https://go.microsoft.com/fwlink/p/?LinkId=760679
Design Guidelines
• Os guias de design são todos muito parecidos
• Contém princípios básicos
• Detalhes de concepção
• Não diferem nem no estilo e nem nas ideias centrais
• Ao desenvolver para dispositivos móveis, é fundamental 
manter-se fiel aos estilos e recomendações
Experiência do Usuário (UX)
• Respostas e percepções do usuário relacionadas a um 
produto, sistema ou serviço antes, durante e depois de 
utilizá-lo. ISO 9241-210
Foco da UX
Contexto
UsuáriosConteúdo
Contexto
• O contexto envolve a situação atual:
• Física: Condições do ambiente de acordo seus sentidos
• Social: Como outras pessoas afetam sua experiência
• Temporal: Variáveis de tempo
• Infra-estrutural: Disponibilidade da rede, custo da ligação.
• Tarefas: Possibilidades
Contexto
UsuáriosConteúdo
Usuários
• Quem são os usuários desse app?
• Quais são suas tarefas e objetivos?
• Quais seus níveis de experiência com esse app e apps como 
esse?
• Quais funcionalidades os usuários precisam?
• Que informações os usuários precisam e de que forma elas 
devem ser transmitidas?
• Como os usuários acham que o sistema deveria funcionar?
Contexto
UsuáriosConteúdo
Conteúdo
• Facilidade de uso
• Velocidade de aprendizado
• Eficiência na utilização
• Grau de propensão a erros
• Permitir o acesso à informação independente de 
características físicas, motoras, cognitivas e etárias.
• Eliminar verbosidade desnecessária
• Linguagem simples e objetiva
• Aumentar legibilidade
Contexto
UsuáriosConteúdo
Conteúdo
Contexto
UsuáriosConteúdo
Benefícios
• Evita a criação de funcionalidades desnecessárias;
• Simplifica o design do projeto;
• Melhora a usabilidade e a ergonomia do projeto;
• Acelera o design e desenvolvimento por meio de guidelines;
• Foca os negócios e o marketing de acordo as características 
dos usuários
Métodos
Etnografia
• Escrevendo sobre pessoas
Personas
Personas
Grupo da Persona (ex. web manager)
Nome Fictício
• Cargos e maiores responsabilidades
• Demographics (idade, educação, etnia, estado civil)
• Objetivos e tarefas que está tentando executar ao
usar o app
• Seu ambiente físico, social e tecnológico
• Uma citação que sumarie o que importa mais para 
essa persona relacionada ao seu app
• Imagens casuais que representem o grupo desse
usuário
Personas
Motorista
Roberto Carlos
• Motorista e entregador
• 32 anos, casado, pai de um filho, ensino médio
completo
• Focado em operar com segurança e eficiência. 
Entre suas tarefas, ele precisa: 
• Atenderchamados de passageiros;
• Planejar e executar rotas de entrega.
• Usa constantemente o celular conectado à rede
móvel. Passa maior parte do tempo no trânsito. 
• Citação: “Tempo é dinheiro”
Design Participativo
Prototipagem
• Wireframes
Prototipagem
• Storyboards
Prototipagem (Prática)
• Projete um aplicativo para smartphone para rachar a conta
que não seja tão simplicista como apenas dividir o valor 
total pelo número de participantes.
• Divisao em grupos para design participativo
• Analise de requisitos, cenários, perfis de usuário, prototipagem
Apps Híbridos
HTML 5 para Mobile
• É possível criar duas versões da sua página HTML: uma para 
ser visualizada em desktop e outra versão para o dispositivo 
móvel
• É o exemplo da página do Globo Esporte.
Quando acessada de um aparelho móvel, outro domínio é acessado
52
globoesporte.globo.com m.globoesporte.globo.com
HTML 5 para Mobile
• É possível criar duas versões da sua página HTML: uma para 
ser visualizada em desktop e outra versão para o dispositivo 
móvel
• É o exemplo da página do Globo Esporte.
Quando acessada de um aparelho móvel, outro domínio é acessado
• Mas criar dois domínios diferentes pode dificultar a 
manutenção das diferentes versões do site
53
HTML 5 para Mobile
• Uma segunda abordagem consiste em mudar o estilo da 
página segundo o dispositivo no qual ela é acessada. 
Apenas uma versão é criada para diferentes dispositivos
54
HTML 5 para Mobile
• Estas páginas que se adaptam às diferentes resoluções são 
chamadas responsivas
55
Apps HTML 5 vs. Apps Nativos
Apps
HTML5
Apps
Nativos
Padrões abertos 
(HTML5, CSS3, Javascript)
Portável para diferentes plataformas
(Diferentes aparelhos e S.O.)
Elementos de interface nativa e acesso a sensores 
(Acesso a câmera, GPS, SMS, contatos.)
Comercialização da aplicação 
(Google Play, Apple App Store, etc.)
56
Apps HTML 5 vs. Apps Nativos
• Aplicativos HTML5 são, na sua essência, multiplataforma, 
limitados apenas à compatibilidade dos navegadores
• No entanto, os recursos como acelerômetro, bússola, 
câmera, geolocalização e armazenamento de arquivos estão 
tradicionalmente disponíveis apenas para quem utiliza os 
kits de desenvolvimento de software nativos (NDKs)
57
Aplicativos Híbridos
• Apps desenvolvidos em HTML5 e podem utilizar recursos de 
hardware disponíveis aos NDKs de cada plataforma
58
Aplicativos
Híbridos
Padrões abertos 
(HTML5, CSS3, Javascript)
Portável para diferentes plataformas
(Diferentes aparelhos e S.O.)
Elementos de interface nativa e acesso a sensores 
(Acesso a câmera, GPS, SMS, contatos.)
Comercialização da aplicação 
(Google Play, Apple App Store, etc.)
Aplicativos Híbridos
• Existem frameworks que compilam o código HTML5 (HTML, 
CSS e JS) para rodar como aplicações nativas
• PhoneGAP, Cordova e Trigger.io são alguns destes 
frameworks
59
Frameworks como o 
PhoneGAP compilam o 
código HTML e 
produzem como saída 
uma aplicação móvel 
híbrida.
Aplicativos Híbridos
• O PhoneGap, é um framework Open Source
• Ele é compatível com 7 diferentes sistemas operacionais 
móveis (iOS, Android, Blackberry, Windows Phone, Palm 
WebOS, Bada e Symbian)
60
Aplicativos Híbridos
• O desempenho de aplicações nativas ainda costuma ser 
melhor 
• No entanto, aplicações criadas em HTML 5 são práticas de 
serem criadas e mantidas. Um mesmo código pode ser 
compilado para diversas plataformas e a experiência do 
usuário com aplicativos híbridos pode ser a mesma de 
aplicativos nativos
61
Frameworks para interface
• O HTML 5 fornece muita liberdade ao desenvolvedor na 
construção das interfaces
• Existem frameworks com elementos de interfaces móveis 
que auxiliam a adequação aos diferentes padrões
62
Frameworks para interface
• Ionic e Ratchet são dois desses frameworks
• O Ratchet é o mais simples dos dois. Para formatar sua 
aplicação segundo os estilos predefinidos pelo Ratchet, 
basta usar as classes correspondentes
63
Comentários finais
• O HTML5 é mais do que uma melhoria na especificação do 
HTML4. HTML5 é uma versão completamente nova 
• Aplicações em HTML5 são multiplataforma. Um mesmo 
conteúdo pode ser adaptado para diferentes mídias, o que 
facilita sua manutenção 
• No entanto aplicações HTML5, ainda que híbridas, podem 
não atingir o mesmo desempenho de aplicativos nativos
64
Hello World com HMTL
65
Referências
• http://www.mobilehci2012.org
• https://www.statista.com/statistics/266136/global-market-share-held-by-smartphone-
operating-systems/
• https://www.theverge.com/2017/2/16/14634656/android-ios-market-share-blackberry-2016
• Jingtao Wang, course notes at Berkeley University
• http://ignorethecode.net/blog/2009/08/07/virtual-keyboards-on-iphone-and-android/
• http://www.commonagency.com/blog/2012/01/official-mobile-interface-guidelines/
• http://tableless.com.br/html5-estrutura-semantica/
• http://www.w3schools.com/html/html5_intro.asp
• http://html5doctor.com/
• http://html5demos.com/
• http://phonegap.com/
• http://goratchet.com/
66
http://www.mobilehci2012.org/
https://www.statista.com/statistics/266136/global-market-share-held-by-smartphone-operating-systems/
https://www.theverge.com/2017/2/16/14634656/android-ios-market-share-blackberry-2016
http://ignorethecode.net/blog/2009/08/07/virtual-keyboards-on-iphone-and-android/
http://www.commonagency.com/blog/2012/01/official-mobile-interface-guidelines/
http://tableless.com.br/html5-estrutura-semantica/
http://www.w3schools.com/html/html5_intro.asp
http://html5doctor.com/
http://html5demos.com/
http://phonegap.com/
http://goratchet.com/
Introdução ao Desenvolvimento 
para Dispositivos Móveis
Victor Adriel de Jesus Oliveira
vajoliveira@inf.ufrgs.br
Skype: victor.adriel
mailto:vajoliveira@inf.ufrgs.br

Mais conteúdos dessa disciplina