Disp Moveis Intro 01

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 60

PROGRAMAÇÃO

PARA
DISPOSITIVOS
MÓVEIS
PROF. ME. HÉLIO ESPERIDIÃO
Como
chegamos
até aqui?
Processadores
Intel 4004, o primeiro processador da história
◦ 2.300 transístores

Intel 4004 2,300 1971 Intel 10,000 nm


Intel 8008 3,500 1972 Intel 10,000 nm

18-core Xeon Haswell-E5 5,560,000,000 2014 Intel 22 nm


IBM z14 6,100,000,000 2017 IBM 14 nm
Xbox One X (Project Scorpio) main SoC 7,000,000,000 2017 Microsoft/AMD 16 nm
Evolução de dispositivos conectados
redes
redes
Programação para dispositivos móveis (DM)
No contexto das ciências da computação a
mobilidade faz referencia ao uso pelas
pessoas de dispositivos móveis portáteis
funcionalmente poderosos que ofereçam
capacidade de realizar facilmente um
conjunto de funções de aplicação, sendo
também capazes de conectar-se, obter dados
e fornecê-los a outros usuários, aplicações e
sistemas
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.
O objetivo de um computador é ajudar-nos a realizar alguma tarefa

• Princípios da • O melhor computador é tranquilo, como um servo invisível

computação ubiqua • Quanto mais coisas você puder fazer usando sua intuição, mais

esperto você é; o computador deve estender o seu inconsciente


Recursos físicos limitados

Contextos de uso diversificados


Desafios no
Desenvolvimento
de Apps Móveis
Diferentes atividades

Atenção limitada
Recursos físicos limitados
CPU, Memória, Tamanho da Tela, Dispositivos de Entrada, Tempo de Bateria, Telas pequenas.
Contextos de uso
diversificados
• Diferentes
atividades
Lembretes

Anotando Receitas

Lista do que fazer


Repense o design se uma tarefa típica na sua
Atenção limitada 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

acelerômetro Assistentes de uso


qrCode
Dispositivos Móveis Hoje
Dispositivos
móveis hoje
Dispositivos Móveis Hoje
Dispositivos Móveis Hoje
Classificação de
tipos de DM
Dispositivos pagers/RIM
Telefones celulares/Smartphones
Dispositivos PDA
Tablets PCs
Notebooks
Coletores de dados
Portabilidade
É definida como a capacidade de ser facilmente transportável.

Para ser considerado portátil os DM em geral têm que ser transportados facilmente na
mão;

A definição de portabilidade pode se alterar ao longo do tempo;

Algo considerado portátil no passado não pode ser considerado portátil hoje.
A interação do usuário com o DM depende, até certo ponto, de
suas características pessoais, como:

Tamanho e força do usuário.

Usabilidade Adulto e criança


(Características
do usuário) Flexibilidade e destreza

Adulto = dedos maiores bombeiro = luva

Conhecimento e capacidade

Dispositivos mais úteis são os simples e mais intuitivos de usar


• A interação do usuário com o DM depende, até certo
ponto, de suas características pessoais, como:
• Tamanho e força do usuário.
Usabilidade • Adulto e criança

(Características • Flexibilidade e destreza


• Adulto = dedos maiores
do usuário) • bombeiro = luva

• Conhecimento e capacidade
• Dispositivos mais úteis são os simples e mais intuitivos de
usar
Tempo de inicialização • Uso em tempo crítico, emergência;

• Não pode ter perda de dados;


Integridade de dados • Armazenamento permanente interno;

Interface com o usuário • Teclado, stylus, mouse, touch etc.


/

• DM podem se quebrar facilmente


Robustez/resistência • Deixá-los mais robustos pode afetar sua portabilidade

Usabilidade (Características do dispositivo )


Windows Mobile
O Windows Mobile é um sistema operacional compacto,
desenvolvido para rodar em dispositivos móveis como
Pocket PCs, Smartphones e Aparelhos de multimídia em
geral.
Projetado para ser capaz de realizar boa parte do que é
possível em uma versão PC do Windows, o sistema vem com
um conjunto de aplicações básicas bem conhecidas no
mundo dos PCs, tais como o Word, Excel, PowerPoint,
Windows Media Player Pocket.
Versões - Windows CE
Um trabalho que começou suas pesquisas em 1990. No
começo, o sistema operacional e interface foram
desenvolvidos separadamente. Uma equipe recebeu o
codinome WinPad, depois, Microsoft At Work for
Handhelds, pois o Windows CE é baseado no Windows 95
que teve um suporte caneta. WinPad não foi lançado como
produto de consumo, existiu uma equipe trabalhou num
projeto cujo nome é Pulsar, feito para ser a versão móvel de
comunicação. O projeto foi cancelado com o WinPad, os dois
grupos se dispersaram e formariam o projeto Pegasus em
1995 para funcionar com o hardware do sistema do
Windows CE, formando um fator de forma parecido a um
PDA PC-esque, como WinPad, que funcionaria como Pulsar.
Versões - Pocket PC 2000
Lançado em 19 de abril de 2000, baseado no Windows CE 3.0.
Foi chamado: sistema operacional Windows Mobile. A única
resolução suportada da versão foi de 240 x 320 (QVGA ) e os
formatos de cartões de armazenamento removíveis que foram
apoiados eram CompactFlash eMultiMediaCard.
Versões - Pocket PC 2002
Sistema que atendia a ambos os dispositivos móveis com
capacidades de telefone e de "Windows Mobile 6 Classic" ou
sem capacidade de telefonar.
Versões
Windows Mobile 2003
Windows Mobile 5.0
Windows Mobile 6.0
Windows Mobile 6.1
Windows Mobile 6.5
Android
Android é um sistema operacional baseado no núcleo do
Linux6 para dispositivos móveis, desenvolvido pela Open
Handset Alliance, liderada pela Google Inc..7 Segundo a
Google, mais de 1 milhão e 500 mil aparelhos com o sistema
operacional são ativados todos os dias,8 sendo utilizado por
grandes fabricantes de celulares, como HTC, Samsung, Sony,
Motorola e LG.
História
O Google desejava lançar um aparelho com
serviços baseados em localização, mas não
possuía plataforma para isso. Então, em agosto
de 2005, adquiriu a Android Inc., uma pequena
empresa em Palo Alto (Califórnia - EUA) que
desenvolvia uma plataforma para celulares
baseada em Linux, com o objetivo de ser uma
plataforma flexível, aberta e de fácil migração
para os fabricantes
O Android é uma plataforma de software que permite criar aplicativos para dispositivos móveis,
como smartphones e tablets.

O Android oferece um conjunto completo de software para dispositivos móveis: um sistema


operacional, middleware e aplicações chave

+ Android
Comercialização
do Android
Comercialização do Android
Em Outubro de 2016, o sistema operacional Android tinha uma quota de 94,4% do mercado de
smartphones no Brasil
Código fonte open source
Foi baseado no kernel do Linux
Características Kit de desenvolvimento Java (Android SDK)
do Android Possui o SQLite, um SGBD nativo
Tem suporte a gráficos 3D baseado na especificação 3.1 da
OpenGL ES (API lvl 21).
Arquitetura
Android
Em vermelho Camada responsável
pelo controle de processos, gerência
de memória, threads, protocolos de
rede e a segurança dos arquivos.
Em verde Conjunto de bibliotecas
C/C++ utilizadas por vários
componentes do Android.
Azul Conjunto de APIs. Contém
ferramentas para a criação de
interfaces e ferramentas de sistema,
como as intents utilizadas para
iniciar outros aplicativos/atividades
ou abertura de arquivos.
Activities

Services
Componentes
do Framework
Android
Intents

Broadcast receivers
Activity
COMPONENTE QUE
R E P R E S E N TA A T E L A , N A
Q UA L O U S UÁ R I O I N T E R A G E
COM A APLICAÇÃO
Services
COMPONENTE RESPONSÁVEL POR RODAR
TAREFAS EM BACKGROUND
Intents
COMPONENTE QUE INICIA OS
D E M A I S . PA R A C R I A R U M A
N O VA A C T I V I T Y O U S E R V I C E ,
VOCÊ UTILIZA INTENTS
• Broadcast componente responsável por responder a eventos do
receiver sistema
Versões
1.0: (Dezembro de 2008, com a ultima revisão oficial em janeiro de 2009)
1.1: (Fevereiro de 2009, correção de bugs da versão anterior)
1.5: Cupcake (Abril de 2009, com a última revisão oficial em maio de 2010)
1.6: Donut (Setembro de 2009, com a última revisão oficial em maio de 2010)
2.0 - 2.1: Eclair (Janeiro de 2010, com a última revisão oficial em maio de
2010)
2.2: FroYo (Frozen Yogurt - Maio de 2010, com a última revisão oficial em julho
de 2011)
2.3: Gingerbread (versão lançada em 6 de dezembro de 2010)
3.0 - 3.2: Honeycomb (Lançada especialmente para tablets em Janeiro de
2011)
4.0: Ice Cream Sandwich (Anunciada oficialmente em 19 de outubro de 2011)
4.1 - 4.2 - 4.3: Jelly Bean (Versão principal lançada em 27 de junho de 2012,
com a última atualização recebida em 24 de julho de 2013)
4.4: KitKat (Lançada em 31 de outubro de 2013 junto com o novo smartphone
Nexus 5)
Versões do Android
O HTC Dream, smartphone produzido pela empresa HTC, foi o primeiro dispositivo
comercializado com o sistema operacional Android
Android SDK
Google disponibiliza o Android
SDK (sigla para Software
Development Kit, o popular kit
para programadores), ferramenta
de desenvolvimento para a criação
das aplicações. É o momento dos
desenvolvedores mostrarem as
habilidades e criatividade e, quem
sabe, fazer sucesso na rede.
Android SDK
O Android SDK permite que os
desenvolvedores elaborem as
aplicações a partir de um
dispositivo virtual para os
aparelhos de celular e tablet,
desde jogos a utilitários que façam
uso das funções oferecidas pelos
aparelhos, como touchscreen,
telefonia GSM, Câmera, GPS,
bússola, acelerômetro, Bluetooth,
EDGE, 3G e WiFi.
Android
Studio BETA
Android Studio é o novo ambiente de
desenvolvimento integrado (IDE) da
Google para quem quer montar
aplicações para o Android.
O Android Studio foi anunciado no
último Google I/O, oferecendo uma
solução da própria Google para quem
quer criar projetos em Android. Embora
o produto ainda esteja em versão de
“Preview”, devido ao fato de ter como
base a ItelliJ IDEA, ele já constitui um
ambiente completo, incluindo várias
funcionalidades para facilitar o trabalho
dos desenvolvedores.
MIT App Inventor
App Inventor é um Ambiente Integrado de
Desenvolvimento para criar aplicações web ou para
dispositivos que utilizam o sistema operacional Android.
A ideia desta ferramenta é proporcionar um ambiente
simples para o desenvolvimento rápido e fácil do tipo de
aplicativo para o qual ele se destina.
Não é necessário instalá-lo em seu computador. O
aplicativo funciona online diretamente em uma janela de
seu navegador de internet padrão. Para utilizá-lo, é
necessário possuir uma conta de usuário da Google.
Interface e
funcionamento do
editor
Os elementos disponíveis se
encontram divididos em
categorias para facilitar encontrá-
los. Nelas, é possível obter objetos
básicos de mídia, animação,
interação social, sensores,
elementos de tela,
posicionamento, entre outros
variados. Para adicionar um deles
à interface do editor, basta clicá-lo
e arrastá-lo até o local desejado.
Editor de código
Embora o editor seja inteiramente online, o editor de blocos
de código requer a abertura ou download para o computador.
Para isso, clique no botão “Open the blocks editor”. Em
seguida, o programa solicita a ação do usuário para dar
continuidade ao processo. Ao final, um editor em Java é
aberto em seu computador.
Uma vez aberto o editor de blocos, você pode efetuar o
download dos pacotes para o telefone ou computador. A
interface do editor é bem simples e está sempre associada aos
elementos selecionados na tela do editor online do App
Inventor.
iOS (antes chamado de iPhone OS)
Sistema operacional móvel da Apple Inc. desenvolvido
originalmente para o iPhone, também é usado em iPod
touch, iPad e Apple TV. A Apple não permite que o iOS
seja executado em hardware de terceiros.
A interface do usuário do iOS é baseado no conceito
de manipulação direta, utilizando gestos em multi-
toque. A interação com o sistema operacional inclui
gestos como apenas tocar na tela, deslizar o dedo, e o
movimento de "pinça" utilizado para se ampliar ou
reduzir a imagem. Acelerômetros internos são usados
por alguns aplicativos para responder à agitação do
aparelho (resultando comumente no comando
desfazer) ou rotação do mesmo (resultando
comumente na mudança do modo retrato para modo
paisagem). O iOS consiste em quatro camadas de
abstração: a camada Core OS, a camada Core Services,
a camada mídia, e a camada Cocoa Touch.
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/
Experiência do Usuário Respostas e percepções do usuário relacionadas a
um produto, sistema ou serviço antes, durante e
(UX) depois de utilizá-lo
Foco da
UX
Física: Condições do ambiente de acordo seus sentidos

Social: Como outras pessoas afetam sua experiência

Temporal: Variáveis de tempo Contexto


Infra-estrutural: Disponibilidade da rede, custo da ligação.

Tarefas: Possibilidades
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?
Usuários 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?
• Facilidade de uso
◦ Velocidade de aprendizado
◦ Eficiência na utilização
Conteúdo ◦ Grau de propensão a erros
◦ Permitir o acesso à informação independente de
características físicas, motoras, cognitivas e etárias.
◦ • Linguagem simples e objetiva
Evita a criação de funcionalidades desnecessárias;
Simplifica o design do projeto;
Melhora a usabilidade e a ergonomia do projeto;
Benefícios
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

Você também pode gostar