Buscar

3. CM - Introdução ao Desenvolvimento Mobile

Prévia do material em texto

Computação Móvel 
Introdução ao Desenvolvimento de Aplicações Móveis
Docente: Ruben Manhiça
Maputo, 4 de maio de 2023
INSTITUTO SUPERIOR DE CIENCIAS E TECNOLOGIA 
DE MOÇAMBIQUE
Escola Superior de Informática
Licenciatura em Engenharia Informática
Conteúdo da Aula
1. Desenvolvimento móvel;
• Nativo
• Web Mobile
• Mobile vs Nativo
• Híbrido
• Multiplataformas
2. Plataformas Dominantes
3. Abordagens
5/4/2023 Notas da aula de Computação Móvel 2
3
Desenvolvimento móvel
• O desenvolvimento de aplicações móveis é 
classificado em:
– Nativo;
– Web mobile;
– Híbrido;
– Multiplataforma
5/4/2023 Notas da aula de Computação Móvel
4
Nativo
• Refere-se a aplicações desenvolvidas 
usando ling. de programação específica de 
uma plataforma como iOS ou Android;
• 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;
5/4/2023 Notas da aula de Computação Móvel
5
Nativo
• Vantagens:
– Performance;
– Usabilidade;
– Interfaces rica "Rich GUI";
– Armazenamento local;
– Offline;
– Acesso completo aos hardwares e APIs do
– dispositivo (câmera, accelerometer, compass, etc);
– Monetização;
5/4/2023 Notas da aula de Computação Móvel
6
Nativo
• 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;
5/4/2023 Notas da aula de Computação Móvel
7
Nativo
• Arquitectura:
5/4/2023 Notas da aula de Computação Móvel
8
Nativo
• Comparação de Plataformas:
5/4/2023 Notas da aula de Computação Móvel
Plataformas dominantes
5/4/2023 Notas da aula de Computação Móvel 9
• De acordo com o NDP as plataformas iOS e Android 
representaram 90% do mercado móvel
iOS
5/4/2023 Notas da aula de Computação Móvel 10
• 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 iPhone, iPod e iPad;
• IDE: Xcode (Apenas Mac OS);
• Custo 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;
iOS
5/4/2023 Notas da aula de Computação Móvel 11
• Arquitectura:
Android
5/4/2023 Notas da aula de Computação Móvel 12
• Plataforma mais popular;
• Faz parte da Open Handset Alliance:
– ○ Samsung;
– ○ Motorola;
– ○ LG;
• Código aberto;
• Linguagem: Java;
• IDE: Eclipse / Android Studio
• 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
Android
5/4/2023 Notas da aula de Computação Móvel 13
• Muitas funcionalidades na API;
• Pequena curva de aprendizado para quem conhece Java;
• Processo de aprovação simples e rápido;
• Houve casos de aplicações infectadas por Malware;
Android
5/4/2023 Notas da aula de Computação Móvel 14
• Arquitectura
Web mobile
• 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;
5/4/2023 Notas da aula de Computação Móvel 15
Web mobile
• Vantagens:
– Portável;
– Uso de tecnologias (HTML/CSS/Javascript) conhecidas;
– Problemas de performance são cada vez menos importante devido 
evolução dos browsers móveis;
– Não há processo de aprovação;
– Atualização transparente para o usuário;
5/4/2023 Notas da aula de Computação Móvel 16
Web mobile
• 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 (Excepto em PWA);
– Dificuldade em adaptar para diferentes dispositivos,
– resolução de telas e diversidade de browsers;
5/4/2023 Notas da aula de Computação Móvel 17
Web mobile
• Responsive Web Design é um conceito onde o objetivo é 
apresentar informação de forma acessível e confortável para 
diversos meios de acesso
• Layout agnostic;
5/4/2023 Notas da aula de Computação Móvel 18
Web mobile
• Com o crescimento da variedade de dispositivos, onde os 
websites são visualizados em laptops, tablets, netbooks, 
smartphones e etc, torna-se praticamente impossível criar 
múltiplas versões do mesmo web site;
• O web site deve se adaptar para qualquer tipo, tamanho e 
resolução do 
• Detecta as características do aparelho como resolução e 
tamanho através de "media queries", ao invés do 
tipo;dispositivo;
5/4/2023 Notas da aula de Computação Móvel 19
Web mobile
• Uso de tecnologias conhecidas como js e css para montar o 
layout do web site;
• Performance pode ser inferior em relação a abordagem de 
diferentes web site para cada dispositivo;
5/4/2023 Notas da aula de Computação Móvel 20
Web mobile
• Exemplos:
5/4/2023 Notas da aula de Computação Móvel 21
Web mobile
• Exemplos:
5/4/2023 Notas da aula de Computação Móvel 22
Web mobile
• 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;
– 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 do aparelho (horizontal ou vertical);
5/4/2023 Notas da aula de Computação Móvel 23
Web mobile
• 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;
5/4/2023 Notas da aula de Computação Móvel 24
Web mobile versus nativo
5/4/2023 Notas da aula de Computação Móvel 25
Web mobile versus nativo
5/4/2023 Notas da aula de Computação Móvel 26
Híbrido
• 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;
5/4/2023 Notas da aula de Computação Móvel 27
Híbrido
• Arquitetura;
5/4/2023 Notas da aula de Computação Móvel 28
Híbrido
• Comparativo com outras abordagens;
5/4/2023 Notas da aula de Computação Móvel 29
Desenvolvimento móvel
• Trade-off;
5/4/2023 Notas da aula de Computação Móvel 30
Multiplataforma
• 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 / Cordova
– Ionic
– Flutter
5/4/2023 Notas da aula de Computação Móvel 31
Multiplataforma
• Vantagens
– Interface gráfica nativa da plataforma;
– Acesso aos recursos de hardware do dispositivo;
– Código fonte único;
– Menor time to market
5/4/2023 Notas da aula de Computação Móvel 32
Multiplataforma
• Desvantagens:
– Pode ser necessário ter que aprender ling. Ou tecnologia 
proprietária;
– Dependência do framework;
– Custo;
– Não adequado para desenvolvimento de aplicações complexas;
5/4/2023 Notas da aula de Computação Móvel 33
Multiplataforma
5/4/2023 Notas da aula de Computação Móvel 34
FIM!!!
Duvidas e Questões?
	Slide 1: Computação Móvel 
	Slide 2: Conteúdo da Aula
	Slide 3: Desenvolvimento móvel
	Slide 4: NativoSlide 5: Nativo
	Slide 6: Nativo
	Slide 7: Nativo
	Slide 8: Nativo
	Slide 9: Plataformas dominantes
	Slide 10: iOS
	Slide 11: iOS
	Slide 12: Android
	Slide 13: Android
	Slide 14: Android
	Slide 15: Web mobile
	Slide 16: Web mobile
	Slide 17: Web mobile
	Slide 18: Web mobile
	Slide 19: Web mobile
	Slide 20: Web mobile
	Slide 21: Web mobile
	Slide 22: Web mobile
	Slide 23: Web mobile
	Slide 24: Web mobile
	Slide 25: Web mobile versus nativo
	Slide 26: Web mobile versus nativo
	Slide 27: Híbrido
	Slide 28: Híbrido
	Slide 29: Híbrido
	Slide 30: Desenvolvimento móvel
	Slide 31: Multiplataforma
	Slide 32: Multiplataforma
	Slide 33: Multiplataforma
	Slide 34: Multiplataforma
	Slide 35: FIM!!!

Continue navegando