Baixe o app para aproveitar ainda mais
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!!!
Compartilhar