Buscar

Aula 2 - Fundamentos Desenvolvimento Movel

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 77 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 77 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 77 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação para
Dispositivos Móveis
Unidade II - Fundamentos do 
Desenvolvimento de Aplicações 
Móveis
Prof. Jorge Bergson / Prof. Milton Escóssia
� Apresentar os principais aspectos envolvidos 
no desenvolvimento de aplicações móveis;
� Apresentar algumas tendências de mercado e 
curiosidades sobre o desenvolvimento de 
aplicações móveis;
� Mostrar uma visão geral as principais 
plataformas de desenvolvimento para 
dispositivos móveis.
� Mobilidade ou aplicações móveis são 
aplicações que podem facilmente ser 
movidos fisicamente ou cujas capacidades 
podem ser executadas enquanto elas estão 
sendo movidos;
� Em outras palavras: informação disponível em 
qualquer lugar e a qualquer momento.
� Vendas de smartphones em 2011superaram a 
venda de PCs;
� Aumento de 45% em relação a 2010;
� Em 2013 os smartphones irão superar os PCs
em acesso à internet;
� Projeção da venda de smartphones até 2016;
� O número de smartphones no mundo supera 3 
bilhões;
� Isso é 4 vezes o número de PCs;
� O momento indica que estamos nos tornando 
uma sociedade pós-PC 
� Máquinas e serviços interagem de forma 
mais natural com os usuários;
� Mercado de aplicações e dispositivos móveis 
estão em crescimento acelerado;
� Novos usuários em potencial;
� Para muitas pessoas o smartphone é o principal 
dispositivo;
� Maior visibilidade e novas 
oportunidades para as 
organizações;
� Segundo GigaOm Pro Survey, em 
2011 38% dos negócios foram 
feitos com smartphones, em 
comparação a 26% do ano anterior;
� A Internet levou informação para dentro de 
nossas casas e escritórios, agora é possível 
acessá-la em qualquer lugar;
� Hoje é possível desenvolver praticamente 
qualquer tipo de aplicação:
� E-commerce;
� ERP;
� Aplicações dedicadas;
� Novo paradigma com oportunidades e desafios 
específicos, onde as melhores práticas do 
mundo desktop simplesmente não se aplicam;
� Criação de um novo ecossistema em constante 
mudança;
� Mercado em constante experimentação;
� Não há padrões estabelecidos;
� Usuários de dispositivos móveis têm padrões de 
uso e métodos de navegação próprios;
� Múltiplas versões da aplicação:
� Crescente variedade de plataformas 
(BlackBerry, iPhone,Windows Phone, 
Android, etc);
� Diferentes modelos de hardware:
� Android é a plataforma mais fragmentada;
� Tamanho e resolução da tela:
� A aplicação deve estar preparada para adaptar-se 
automaticamente ou devem ser feitas versões 
diferentes para cada tamanho específico de tela;
� Memória e processamento
� A aplicação deve preocupar-se com a capacidade 
de memória e processamento do dispositivo que 
irá ser executada
� Conexão de rede imprevisível, cobertura 
limitada e baixa velocidade;
� Conectividade:
� Ao desenvolver uma aplicação, deve-se saber de 
que formas ela vai se comunicar com meio 
externo para a troca de informações;
� A aplicação deve procurar ter o menor consumo 
de bateria possível;
� Layout:
� Disponibilizar apenas as funcionalidades mais 
importantes para o usuário. 
� Utilizar navegação vertical e transição entre 
páginas, ao invés de usar navegação 
esquerda/direita;
� Prover atalhos para a home, seção anterior e 
posterior no fim de cada página, para que o 
usuário não precise rolar a página até o início;
� Definir público alvo;
� Conteúdo: 
� Garantir que a informação seja fácil de ler e navegar;
� Evitar animações complexas para não consumir 
bateria desnecessariamente;
� Imagem:
� Usar imagens somente quando 
necessário;
� Usar os formatos jpeg, png e gif
Não permitir zooming;
� Permitir desabilitar imagens;
Zooming
� Tamanho da página:
� É essencial manter as páginas simples e pequenas;
� Evitar que o tamanho das páginas ultrapasse 25 Kb;
� Exemplo:
� Achar que não há necessidade de criar uma versão 
móvel da aplicação só porque a aplicação web abre 
no browser do smartphone;
� Exportar todas as funcionalidades da versão 
desktop para a mobile;
� Utilização frequente do pinch to zoom;
� Páginas web convencionais não foram projetadas 
para serem acessadas por dispositivos móveis
� Tamanho pré-fixado;
� Animações javascript complexas e efeitos 
mouse-over;
� Uso de tags específicas;
� Baixa usabilidade e performance;
Fonte: Hugo Raniere, Jampa Mobility Forum 2009
� Desenvolvimento voltado para um tipo de 
dispositivo ao invés do tamanho da tela e resolução;
� Utilizar os mesmos serviços "API" da versão 
desktop para a versão móvel:
� Tráfego desnecessário de dados;
� Utilizar a mesma abordagem para plataformas 
diferentes;
� Classificação do 
DM:
� Nativo;
� Web Mobile;
� Híbrido;
� Multiplataforma;
Fonte: http://wiki.developerforce.com/page/Native,_HTML5,_or_Hybrid:_Understanding_Your_Mobile_Application_Development_Options
� Desenvolvimento nativo vs web mobile:
Fonte: http://sixrevisions.com/mobile/native-app-vs-mobile-web-app-comparison/
� Refere-se a aplicações desenvolvidas usando 
linguagem de programação específica de uma 
plataforma como iOS, Android,Windows Phone, 
BlackBerry, etc;
� Atualmente é a solução preferida pelos 
programadores;
� São rápidas, confiáveis e podem acessar recursos 
de hardware (câmera, acelerômetro, bússola, etc);
� Restrita a plataforma escolhida;
� Arquitetura
� Vantagens:
� Performance;
� Usabilidade;
� Interfaces rica "Rich GUI";
� Armazenamento local;
� Trabalha de forma Offline;
� Acesso completo aos hardwares e APIs do dispositivo 
(câmera, accelerometer, compass, etc);
� Monetização;
� Desvantagens:
� Alto custo de desenvolvimento e manutenção;
� Atualização não é transparente ao usuário;
� Processo de aprovação;
� Complexidade:
� Cada plataforma tem características específicas;
� Escassez de profissionais capacitados;
� Comparativo entre as plataformas:
� Aplicações que utilizam padrões abertos e 
teoricamente podem ser executadas em qualquer 
dispositivo que possua browser;
� Possibilita uso de conhecimentos prévios das 
tecnologias web (html, xhtml, js e css) com novas 
técnicas para fazer a aplicação funcionar em 
dispositivos móveis;
� Mesmo código para todos os dispositivos;
� Vantagens:
� Portável;
� Uso de tecnologias (HTML/CSS/Javascript) 
conhecidas;
� Problemas de performance são cada vez menos
importantes devido evolução dos browsers móveis;
� Vantagens:
� Não há processo de aprovação para disponibilização 
da aplicação;
� Atualização transparente para o usuário;
� Desvantagens:
� Performance inferior às aplicações nativas;
� Sem acesso a componentes de hardware do 
dispositivo (câmera, acelerômetro, bússola, etc);
� Baixa usabilidade;
� Especificação HTML5 não finalizada;
� Dificuldade em adaptar para diferentes dispositivos,
� resolução de telas e diversidade de browsers;
� Responsive Web Design (RWD) é um conceito onde o 
objetivo é apresentar informação de forma acessível e 
confortável para diversos meios de acesso;
� Layout agnostic;
� Exemplos (RWD)
� Exemplos (RWD)
� Um design responsivo incluí:
� Adaptar o layout da página de acordo com a resolução 
em que está sendo visualizada;
� Redimensionar as imagens automaticamente para que 
caibam na tela e para que não sobrecarreguem a 
transferência de dados;
� Um design responsivo incluí (cont.):
� Ocultar elementos desnecessários nos 
dispositivos;
� Adaptar tamanho de botões e links para 
interfaces touch onde o ponteiro do mouse é 
substituído pelo dedo do usuário;
� Utilizar de forma inteligente recursos mobile
como geolocalização e mudança na orientação
� Exemplos (RWD)
� Atualmente há um crescente interesse no uso 
da tríade (HTML5, JS eCSS3) para o 
desenvolvimento de aplicações web mobile; 
� HTML5 permite criar aplicações que ofereçam 
experiência próxima a das aplicações nativas:
� Suporte a multitouch, GPS; 
� Armazenamento local;
� Frameworks específicos "JQuery Mobile” e Sencha
(baseados no HTML5) para o desenvolvimento móvel;
� Empresas como Microsoft, Facebook e Financial Times 
estão investindo em HTML5;
� Microsoft anunciou que será possível desenvolver 
aplicação para o Windows 8 usando apenas HTML5 e 
JavaScript;
� Tendências para 2012 
segundo relatório do 
Appcelerator/IDC:
� Crescente interesse por 
HTML5;
� 79% dos 
desenvolvedores dizem 
que planejam usar ou 
integrar HTML5 em suas 
aplicações mobile;
� O principal problema do 
HTML5 é que o padrão 
ainda não foi finalizado;
� Apesar das aplicações web mobile ainda não 
conseguirem obter a mesma eficácia e eficiência das 
aplicações nativas, é apenas questão de tempo para 
aplicações web mobile superarem as aplicações nativas;
� A história está se repetindo:
� Alguém se lembra dos anos 90´s?
� Nativo vs Web Mobile
� Aplicação nativa que encapsula tecnologias web;
� Transparente para o usuário;
� Regra de negócio fica no servidor;
� Interface do usuário nativa da plataforma:
� Assegura acesso a componentes de hardware;
� Arquitetura
� Exemplo
� Bank of America; 
� A aplicação móvel do Facebook até 
bem pouco tempo era híbrida, hoje é 
nativa;
� Vídeo interessante:
� http://www.youtube.com/watch?v=HDn
NEKtBkBE
� Comparativo entre as abordagens:
Vídeo interessante: http://www.youtube.com/watch?v=We0byPckthQ
� Trade-off
� Frameworks projetados para criar aplicações 
multiplataforma sem a necessidade de reescrever a 
aplicação para cada plataforma;
� Foco no negócio da aplicação;
� Frameworks populares:
� Titanium;
� PhoneGAP;
� Vantagens
� Interface gráfica nativa da plataforma;
� Acesso aos recursos de hardware do dispositivo;
� Código fonte único;
� Menor time to market;
� Desvantagens
� Pode ser necessário aprender uma linguagem de 
programação ou tecnologia proprietária;
� Dependência do framework;
� Custo alto;
� Não adequado para desenvolvimento de aplicações 
complexas;
� Titanium:
� Tecnologias Web(HTML, JS, CSS e Python);
� Cria aplicação web e/ou nativa;
� Acesso completo aos hardwares e APIs do dispositivo;
� Suporte para iPhone,iPad e Android;
� PhoneGap:
� Tecnologias Web(HTML e JS);
� Acesso completo aos hardwares e APIs do dispositivo;
� Suporte para iPhone, iPad e Android, Blackberry e Symbian;
� De acordo com o comSocore Mobilens, a distribuição das 
plataformas móvel em utilização é a seguinte:
� Linguagem: Objective-C;
� Curva de aprendizado maior na ling. 
Objective-C por ser pouca difundida;
� Muitas funcionalidades na API, mas 
aplicações ficam presas numa 
"sandbox";
� Exclusivo para os produtos Apple: 
iPhone, iPod e iPad;
� IDE: Xcode (Apenas Mac OS);
� Mensalidade anual de $99,00;
� Interface do usuário e hardware padronizados para 
todos os dispositivos;
� Aprovação de uma aplicação na App Store dura 
aproximadamente 15 dias;
� Arquitetura
� Plataforma mais popular;
� Faz parte da Open Handset Alliance:
� Samsung;
� Motorola;
� LG;
� Código aberto;
� Linguagem: Java;
� IDE: Eclipse;
� Aplicação é executada dentro da máquina virtual 
"Dalvik";
� Fragmentada:
� Diversos tipos de aparelhos com hardwares, 
memórias e versões do Android diferentes;
� Taxa de licenciamento única de $25,00;
� Muitas funcionalidades na API;
� Pequena curva de aprendizado para quem conhece 
Java;
� Processo de aprovação simples e rápido;
� Arquitetura
� Fabricante: Microsoft;
� Lançado em 21 de outubro de 2010 para concorrer 
diretamente com os sistemas operacionais móveis 
que dominam o mundo, Android e IOS;
� Para iniciar o desenvolvimento para Windows 
Phone é necessário ter alguma base de 
conhecimento em C# ou VB, que são as duas 
possíveis linguagens de desenvolvimento;
� Principal fabricante de hardware: NOKIA.
� Para desenvolver é necessário:
� Microsoft Visual Studio 2010 ou 2012 (Express ou 
outra versão que possibilite o desenvolvimento) para 
Windows Phone;
� SDK Windows Phone;
� O SDK integra ao Visual Studio os templates de 
Windows Phone, as ferramentas no ToolBox e o 
Emulador usado para testar, simular e depurar suas 
aplicações, já que alguns podem se interessar em 
desenvolver sem ainda possuir um dispositivo real. 
� Arquitetura
� Não existe solução única e padronizada para todos 
os tipos de aplicações;
� Cada solução precisa de uma análise detalhada de 
todos os requisitos que devem ser implementados 
na aplicação;
� Foco no curto prazo, pois os conceitos estão em 
constante mudança;
� Geralmente aplicações web mobile são mais 
baratas para desenvolver e distribuir, mas não 
oferecem a mesma experiência de usuário que as 
aplicações nativas;
� Se acesso a recursos de hardware for requisito 
mandatório, acredito que a abordagem "híbrida", 
"multiplataforma" ou "nativa" seja mais adequada;
� Cada fabricante de hardware e/ou sistema
operacional mantém uma loja onde é possível
comprar ou baixar gratuitamente apps. 
� Em algumas lojas também possível comprar outros
produtos do fabricante ou de parceiros deste;
� Lojas mais famosas:
� Apple Store
� Google Play 
� Windows Phone Store

Outros materiais