Buscar

d217fe7d-fdc5-4510-9ed9-eaa13e1a3be0

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 107 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 107 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 107 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

APLICAÇÕES MÓVEIS
W
BA
05
96
_v
1.
1
© 2018 POR EDITORA E DISTRIBUIDORA EDUCACIONAL S.A.
Todos os direitos reservados. Nenhuma parte desta publicação poderá ser reproduzida ou transmitida 
de qualquer modo ou por qualquer outro meio, eletrônico ou mecânico, incluindo fotocópia, gravação ou 
qualquer outro tipo de sistema de armazenamento e transmissão de informação, sem prévia autorização, 
por escrito, da Editora e Distribuidora Educacional S.A.
Presidente
Rodrigo Galindo
Vice-Presidente de Pós-Graduação e Educação Continuada
Paulo de Tarso Pires de Moraes
Conselho Acadêmico
Carlos Roberto Pagani Junior
Camila Braga de Oliveira Higa
Carolina Yaly
Giani Vendramel de Oliveira
Juliana Caramigo Gennarini
Nirse Ruscheinsky Breternitz
Priscila Pereira Silva
Tayra Carolina Nascimento Aleixo
Coordenador
Tayra Carolina Nascimento Aleixo
Revisor
Márcio dos Santos
Editorial
Alessandra Cristina Fahl
Beatriz Meloni Montefusco
Daniella Fernandes Haruze Manta
Hâmila Samai Franco dos Santos
Mariana de Campos Barroso
Paola Andressa Machado Leal
Dados Internacionais de Catalogação na Publicação (CIP)
Alves, Thiago Salhab
A474a Aplicações móveis / Thiago Salhab Alves. – Londrina: 
 Editora e Distribuidora Educacional S.A., 2019.
 91 p.
 ISBN 978-85-522-1351-2
 1. Desenvolvimento ágil de software. 2. Aplicativos 
 móveis. I. Alves, Thiago Salhab. III. Título. 
 CDD 000
Responsável pela ficha catalográfica: Thamiris Mantovani CRB-8/9491
2018
Editora e Distribuidora Educacional S.A.
Avenida Paris, 675 – Parque Residencial João Piza
CEP: 86041-100 — Londrina — PR
e-mail: editora.educacional@kroton.com.br
Homepage: http://www.kroton.com.br/
mailto:editora.educacional%40kroton.com.br?subject=
http://www.kroton.com.br/
Aplicações Móveis 3
SUMÁRIO
Apresentação da disciplina 04
Tema 01 – Introdução à mobilidade digital 06
Tema 02 – Processos de desenvolvimento de software 20
Tema 03 – Linguagens de Programação 36
Tema 04 – Desenvolvimento de aplicações para dispositivos móveis 49
Tema 05 – Cloud para Dispositivos Móveis 62
Tema 06 – Teste de Aplicativos Móveis 76
Tema 07 – Gestão de Projetos 90
APLICAÇÕES MÓVEIS 
4 Aplicações Móveis
Apresentação da disciplina
A disciplina de Aplicações Móveis tem por objetivo apresentar o processo 
de desenvolvimento de sistemas com foco em aplicativos móveis. Para 
tanto, visita a metodologia ágil de apoio ao processo de desenvolvimento 
de software aplicado ao universo mobile.
Apresenta, inicialmente, na aula 1, uma introdução à mobilidade digital, 
propiciada pela evolução das tecnologias móveis, tais como, smartpho-
nes, tablets, smartwatches e da rede de telefonia móvel.
Na aula 2, há a abordagem sobre processos de desenvolvimento de sof-
tware, com foco nas metodologias clássicas e ágeis, pensamento lean, 
princípios da UX design e técnicas de design thinking. 
A aula 3 é voltada a programação orientada a objetos e linguagens de 
IDE’s para desenvolvimento de aplicativos móveis, com ênfase na lingua-
gem Java para o desenvolvimento de apps para Android e linguagens Swift 
e Objective-C para desenvolvimento de apps para iOS.
O tema 4 aborda desenvolvimento de aplicativos nativos e híbridos, com 
as vantagens e desvantagens de cada tipo de abordagem de desenvol-
vimento. A discussão é articulada com intuito de ampliar a capacidade 
crítica e autônoma de decidir os caminhos a serem percorridos no desen-
volvimento de software.
No capítulo 5, vemos sobre cloud computing, com foco nos tipos de cloud 
e cloud services, fazendo valer a reflexão sobre as aplicações, benefícios e 
atuais limitações acerca do uso de recursos de cloud computing.
O tema 6 trata a respeito do teste de software, no processo de desenvolvi-
mento de sistemas e ferramentas automatizadas para teste de software. 
Aplicações Móveis 5
Já o tema 7, traz a gerência de projetos sob a perspectiva ágil, com ênfase 
para o Scrum.
Tenha ótimos momentos de estudo e uma jornada cognitivamente cons-
trutiva, que deverá agregar muito ao seu processo de desenvolvimento 
profissional, seja qual for a modalidade de atuação, atual ou futura.
Aplicações Móveis 6
TEMA 01
INTRODUÇÃO À MOBILIDADE DIGITAL
Objetivos
• Apresentar aos alunos uma introdução à mobilidade 
digital, destacando a revolução da mobilidade na vida 
humana.
• Aprender sobre a transformação mobile e as bases de 
dispositivos móveis.
• Conhecer os principais dispositivos móveis, tais como, 
smartphones, tablets, smartwatches e outras tecnolo-
gias, bem como sua evolução.
Aplicações Móveis 7
1. Introdução à mobilidade digital
Prezado aluno, você já parou para imaginar como seria a sua vida sem o 
uso da internet, principalmente a sem fio (wireless) e móvel (3G ou 4G)? 
Como seria seu dia a dia sem o uso de dispositivos móveis, tais como, 
smartphones, notebooks, tablets e até smartwatches? Não é nenhuma no-
vidade que o mundo sofreu grandes transformações com o avanço das 
tecnologias digitais e a mobilidade digital, nos proporcionando inúmeras 
facilidades diárias.
Esta primeira leitura, irá apresentar uma introdução à mobilidade digital, 
destacando a revolução da mobilidade na vida humana. Você aprende-
rá sobre a transformação mobile e as bases de dispositivos móveis bem 
como conhecerá os principais dispositivos móveis, tais como, smartpho-
nes, tablets, smartwatches e outras tecnologias, além da sua evolução. 
Uma boa aula e bons estudos.
1.1. Evolução da tecnologia móvel
Segundo Alves (2016), os primeiros sistemas móveis são encontrados a 
partir da era da eletrônica e, como qualquer tipo de sistema, podem se 
conectar a uma rede, não sendo essa conectividade à rede, entretanto, 
um pré-requisito para ser um sistema móvel.
De acordo com Alves (2016), a comunicação wireless (tecnologia sem fio 
que permite a conexão entre dispositivos sem a necessidade de utilização 
de cabos de conexão entre eles) teve seu início em 1960 pelos militares 
e em 1970, buscando uma qualidade na transmissão/recepção e remo-
ção de obstáculos entre as comunicações, surgem as comunicações via 
satélite e a comercialização dessa tecnologia, com aumento na qualidade 
e confiança dos serviços, porém com custo muito elevado. Na década de 
1990, o uso da tecnologia celular torna-se comercialmente viável e traz 
grandes benefícios para a transmissão de dados.
8 Aplicações Móveis
De acordo com Mateus e Loureiro (1998), destacam-se alguns pontos da 
evolução da computação e tecnologia móvel:
• 1983: o sistema AMPS (Advanced Mobile Phone System) evoluiu para 
padrões atuais com a primeira rede celular americana lançada em 
1983, em Chicago e Batimore (EUA, ambos). Em uso nos Estados 
Unidos, Brasil e grande parte do mundo, sendo considerado um sis-
tema de primeira geração.
• 1991: validação inicial dos padrões TDMA (Time Division Multiple 
Access) e CDMA (Code Division Multiple Access) nos Estados Unidos. 
Introdução da tecnologia microcelular.
• 1992: introdução da tecnologia Pan Europeu GSM (Group Speciale 
Mobile).
• 1994: introdução ao sistema CDPD (Cellular Digital Packet Data). Início 
dos serviços PCS (Personal Communications Services), CDMA e TDMA.
• 1995: início dos projetos de cobertura terrestre de satélites de baixa 
órbita, como o projeto Iridium.
• 1997: aprovação do padrão IEEE 802.11 – Wireless.
• 1999: padrões IEEE 802.11b e 802.11a, com frequências de 2.4 e 5 
GHz. Criada a Wireless Ethernet Compatibility Alliance (WECA).
• 2000: surgiram os primeiros hotspots (local onde é possível ter aces-
so à internet). A WECA lançou o selo Wireless Fidelity (Wi-Fi).
• 2003: surgimento da tecnologia 3G.
• 2010: surgimento da tecnologia 4G.
• 2018: tecnologia 5G, com velocidade na conexão de internet mui-
to superior a 4G, já começa a ser implementada na Europa, Ásia e 
Estados Unidos, com previsão de clientes no Brasil para 2020.
Aplicações Móveis 9
ASSIMILE
A rede 1G nada mais é que o sinal de telefonia analógico.Se popularizou na década de 1980 e foi pouco usado para 
o tráfego de dados. O sistema usado na época era o AMPS 
(Advanced Mobile Phone System). A rede 2G começou a ser 
implantada na década de 1990 com o sinal digital. Utiliza o 
GSM (Global System for Mobile). A rede 3G usa principalmente 
as tecnologias WCDMA e CDMA e oferece velocidades míni-
mas de 200 kpbs. A rede 4G revolucionou a velocidade de 
tráfego de dados no país e utiliza a tecnologia LTE (Long Term 
Evolution) com tráfego de dados de até 100 Mbps.
Figura 1 – Conceito da tecnologia 5G
Fonte: MF3d/iStock.com.
A Figura 1 ilustra a gama de dispositivos, equipamentos e serviços que 
serão beneficiados pela rede 5G, permitindo que os mesmos possam se 
comunicar e trocar informações.
1.2 Dispositivos móveis 
Um dos primeiros dispositivos móveis a se popularizar, de acordo com 
Moll (2006), foram o PDA’s (Personal Digital Assistant), computadores de 
10 Aplicações Móveis
dimensões reduzidas, dotados de significativa capacidade computacional, 
o qual cumpriam desde funções básicas até funções avançadas, com pos-
sibilidade de interconexão com um computador pessoal e uma rede sem 
fios, para prover acesso a correio eletrônico e Internet.
Os PDA’s permitiam uma grande quantidade de funcionalidades, utilizan-
do uma quantidade suficiente de memória, com diversos softwares dis-
poníveis, mas com uma limitação de processamento inferior a um compu-
tador desktop (computador de mesa) ou notebook.
Segundo Alves (2016), alguns dos antecessores dos PDA’s foram o Psion 
Organiser e o Sharp Wizard. Foram dispositivos lançados em meados dos 
anos 1980 e a ideia inicial era que seriam computadores portáteis, con-
tando com teclado para entrada, tela pequena e recursos básicos (relógio 
com alarme, calendário, agenda telefônica e calculadora) e também sof-
twares como jogos e planilhas eletrônicas.
A Apple também lançou, em 1993, um dos antecessores do PDA, o Newton 
MessagePad, oferecendo bloco de notas eletrônico, agenda de compromis-
sos, calendário, agenda telefônica e aplicativos de arquivo de endereços. 
Muitos de seus recursos, tais como, tela sensível com caneta, capacidades 
de reconhecimento de escrita, porta de infravermelho e capacidade de 
expansão, foram adotados nos PDA’s (ALVES, 2016).
A empresa Palm Computing lança, em março de 1996, o PalmPilot (tam-
bém conhecido como o legítimo PDA). Segundo Alves (2016), executava 
seu próprio sistema operacional Palm OS, e sincronizava com os compu-
tadores, funcionando com baterias, de fácil uso e com capacidade de ar-
mazenar milhares de contatos, compromissos e anotações, utilizando a 
linguagem Graffiti para introdução dos dados. Parte de seu tamanho re-
duzido se devia à ausência de um teclado.
Aplicações Móveis 11
Figura 2 – PalmPilot da empresa Palm Computing
 Fonte: vasiliki/iStock.com.
A Figura 2 ilustra o dispositivo móvel PalmPilot, da empresa Palm Computing, 
com tela sensível com caneta, sendo o PDA mais vendido do mundo.
Além das empresas Apple e Palm Computing, a Microsoft desenvolveu o 
dispositivo portátil PenWindows e criou, em 1996, o Windows CE, seu pri-
meiro Sistema Operacional para dispositivos móveis, sendo adotado por 
vários fabricantes, tais como Hewlett Packard, Compaq, Toshiba e Casio, 
em dispositivos denominados Handheld PC, sendo os “rivais” do PalmPilot 
(ALVES, 2016).
Segundo Morimoto (2009), os smartphones são os sucessores dos PDA’s, 
sendo a combinação de dois dispositivos: celulares e PDA’s, podendo se 
conectar à web através de conexões 3G ou Wi-Fi, permitindo que possuam 
uma enorme variedade de recursos, tais como, câmeras digitais, suporte 
a MP3, navegadores GPS, etc. Os celulares, por sua vez, eram aparelhos 
mais simples, servindo apenas como um sistema de telefonia móvel, ba-
seado na transmissão por rádio. 
O IBM Simon foi o primeiro smartphone criado, no início da década de 
1990, mas o Ericsson R380 foi o primeiro celular inteligente da história. 
O Blackberry 6210 foi o smartphone mais utilizados pelos executivos em 
12 Aplicações Móveis
2001, possuindo teclado padrão QWERTY (o mesmo encontrado nos te-
clados de computadores e notebooks) e entrada USB (Universal Serial Bus) 
(ALVES, 2016).
O iPhone foi o primeiro smartphone da Apple, sendo lançado em 2007 
por Steve Jobs, com sistema operacional iOS, se tornando rapidamen-
te um grande sucesso de vendas. O HTC Dream, lançado em 2007, foi o 
smartphone com o primeiro sistema operacional Android, então baseado 
no Linux e o Galaxy Nexus foi o primeiro celular da Samsung no mercado 
de smartphones, utilizando sistema Android.
Os smartphones rapidamente caíram no gosto popular, e é difícil encon-
trar alguém que não possua um aparelho dessa categoria. A maioria de-
les possui os principais recursos: câmeras digitais, gravadores de vídeo, 
gravadores de voz, calendário, acesso à rede 3G e 4G, Wi-Fi, calculadora, 
agenda, acesso a páginas web e instalação de aplicativos (apps), gratuitos 
e pagos, através de downloads, tais como, aplicativos para redes sociais, 
troca de mensagens instantâneas, players de música, jogos, etc.
De acordo com Paulino e Oliveira (2013), o iPad da Apple, lançado em 
2010 e responsável por introduzir os tablets no mercado, revolucionou to-
talmente a forma de ver conteúdos na internet. A interatividade, inclusive, 
é uma característica fundamental do dispositivo, pois conta com interface 
sensível ao toque e sendo um aparelho digital portátil, pessoal, em for-
mato de prancheta, dotado de capacidades básicas de um computador. 
A portabilidade, acesso à internet e suporte multimídia são alguns dos 
atributos que tornam esta máquina um genuíno representante da tecno-
logia móvel do século XXI, bem como um dos modelos de negócio mais 
apostados pelas multinacionais.
Após o lançamento do iPad, diversos fabricantes, tais como Sony, Motorola 
e Samsung, começaram a “corrida” pelos tablets. O iPad faz uso do sistema 
operacional iOS, criado pela Apple e de uso exclusivo desse equipamen-
to. Os demais tablets citados, fazem uso do sistema operacional Android 
e têm como pontos fortes uma oferta maior de aplicativos, não estando 
limitados apenas àqueles permitidos pelo próprio desenvolvedor, como 
no caso da Apple (ALVES, 2016).
Aplicações Móveis 13
Figura 3 – Uso de smartphone e tablet no ambiente de trabalho
Fonte: ipopba/iStock.com.
A Figura 3 ilustra o uso do tablet, smartphone e notebook em um ambien-
te de trabalho. Um gerente executivo pode trocar mensagens com clien-
tes e fornecedores pelo smartphone, acompanhar relatórios e gráficos 
pelo tablet e desenvolver uma estragégia de ação pelo notebook.
PARA SABER MAIS
Muitas empresas do setor alimentício, como lanchonetes, 
haburguerias, docerias e padarias, estão substituindo o tra-
dicional cardápio por tablets instalados nas mesas. O cliente 
pode conhecer com mais detalhes o produto que deseja con-
sumir, adicionar ou remover itens e realizar o seu pedido de 
maneira prática e ágil.
Os wearables, por sua vez, são tecnologias vestíveis, tais como, os smar-
twatches (relógios inteligentes) e roupas inteligentes. O primeiro wearab-
le foi criado em 2008, sendo uma pulseira que monitorava as atividades 
14 Aplicações Móveis
físicas. Os wearables podem facilitar o desempenho de diversas tarefas. 
No caso dos smartwatches, tais como o Apple Watch e o Samsung Gear, 
possuem ferramentas no auxílio do monitoramento da saúde e sincronia 
com os smartphones iPhones (Apple Watch) e Samsung (Gear), respectiva-
mente. Além disso, tais dispositivos permitem atender a ligações, enviar e 
receber mensagens de texto, visualizar fotos, calendário, controlar músi-
cas, pagar contas e também ver as horas (MUNARO, 2019).
Segundo Munaro (2019), uma pesquisa da Consultoria IDC, faz uma pre-
visão que até 2022 serão vendidos mais de 200 milhoes de wearables no 
mundo, sendo 43 milhões de smartwatches.
Figura 4 – Uso de Smartwatch para pagamento de contas
Fonte: martin-dm/iStock.com.A Figura 4 ilustra uma das aplicações do smartwatch que é o pagamento 
de contas através de aplicativo bancário instalado no relógio. Através da 
aproximação da máquina de cartão, o processo de débito ou crédito é 
efetivado.
Aplicações Móveis 15
1.3. Mobilidade digital
De acordo com Docusign (2017), mobilidade digital é um termo usado para 
representar a tendência de se utilizar dispositivos móveis conectados à in-
ternet para poder otimizar e tornar dinâmica qualquer tipo de tarefa.
Antes, a única forma de se utilizar a internet para realizar pesquisas, ativi-
dades escolares, atividades de trabalho, checar e-mails e demais tarefas, 
era através de um microcomputador (desktop ou notebook), utilizando, 
geralmente, internet discada cabeada. As famílias possuíam um micro-
computador em casa e até um local físico específico para poder “navegar”, 
como um escritório ou um quarto de estudos.
O acesso às informações e à internet mudou totalmente. Com o uso da 
internet wireless e aparelhos Wi-Fi, as residências, escolas, shoppings e de-
mais lugares públicos, tornaram-se verdadeiras redes de dados. Através de 
um smartphone, tablet, notebook e smartwatch e as redes móveis 3G e 4G, 
o usuário pode acessar a internet de qualquer lugar e a qualquer hora.
Através do uso prático da mobilidade digital, é possível a utilização de 
ferramentas em smartphones para utilizar um transporte, como ubers ou 
taxis, através da localização geográfica (geolocalização) do usuário. As vi-
sitas de antes aos bancos, para transferências e pagamentos de contas, 
foram otimizadas por aplicativos bancários que instalados ao smartpho-
ne, permitem realizar pagamentos, transferências, aplicações e todo tipo 
de transação bancária.
A comunicação tornou-se muito mais fácil com os dispositivos móveis. 
O uso de redes sociais, ferramentas de mensagens instantâneas, video-
conferências e e-mails, antes disponível apenas nos microcomputadores, 
está acessível nos smartphones, tablets e smartwatches.
Não obstante, a Internet das Coisas (IoT) é uma revolução tecnológica que 
busca conectar itens, usados no dia a dia, à internet. A intenção é que o 
mundo físico e digital se aproxime cada vez mais, com dispositivos que se 
comuniquem uns com os outros. Sua geladeira poderá enviar um pedido 
16 Aplicações Móveis
ao supermercado avisando que faltam itens essenciais. O smartwatch, ao 
identificar qualquer anormalidade com seus batimentos cardíacos, emiti-
rá uma mensagem ao smartphone de seu médico cardiologista ou siste-
ma de atendimento médico de urgência, para os devidos procedimentos. 
Os carros irão se comunicar, avisando de acidentes ou engarrafamentos. 
São inúmeras as possibilidades da mobilidade digital.
Figura 5 – Rede de comunicação sem fio – Internet das Coisas (IoT)
Fonte: metamorworks/iStock.com.
A Figura 5 ilustra o conceito de mobilidade digital e o uso dos dispositivos 
móveis e da rede de comunicação sem fio, conectando pessoas, sistemas 
e aparelhos.
Em linhas gerais, foi realizada uma introdução à mobilidade digital, des-
tacando a revolução que esta causou na vida humana, conhecendo sobre 
a transformação mobile e as bases de dispositivos móveis, bem como os 
principais dispositivos móveis, tais como, smartphones, tablets, smartwat-
ches e outras tecnologias e sua respectiva evolução.
Aplicações Móveis 17
TEORIA EM PRÁTICA
Uma padaria do seu bairro gostaria de automatizar seu pro-
cesso de pedidos de lanchonete, substituindo os atuais car-
dápios por algo digital e totalmente interativo, facilitando e 
agilizando o pedido dos clientes. Atualmente o cliente pre-
cisa verificar o cardápio e aguardar a disponibilidade de um 
atendente para realizar seu pedido.
Mas, muitas vezes a quantidade de clientes é significativamente 
grande e os pedidos acabam demorando muito. Como você po-
deria auxiliar o proprietário da padaria a automizar esses car-
dápios? Que tipos de dispositivos móveis poderiam ser utiliza-
dos nessa situação? Que tipo de aplicativo poderia ser utilizado?
VERIFICAÇÃO DE LEITURA
TEMA 01
1. A tecnologia móvel avançou muito nos últimos anos, evo-
luindo da rede de telefonia móvel de primeira geração 1G 
até a rede de telefonia móvel de quinta geração 5G.
Desse modo, assinale a alternativa que apresente a rede 
de comunicação que faz uso do sistema WCDMA (Wide 
Band Code Division Multiple Access) e CDMA (Code Division 
Multiple Access).
a) Rede de primeira geração - 1G.
b) Rede de primeira geração - 2G.
c) Rede de primeira geração - 3G.
d) Rede de primeira geração - 4G.
e) Rede de primeira geração - 5G.
18 Aplicações Móveis
2. O iPhone foi o primeiro smartphone da Apple, sendo lan-
çado em 2007, por Steve Jobs, sendo um grande sucesso 
de vendas. Assinale a alternativa que apresenta o sistema 
operacional utilizado pelo iPhone:
a) Windows Phone.
b) iOS.
c) MacOs.
d) Android.
e) Linux.
3. Mobilidade digital diz respeito ao uso de dispositivos mó-
veis, conectados à internet, para poder otimizar e tornar 
dinâmica qualquer tipo de tarefa. Relacionado a mobilida-
de digital, temos a internet das coisas (IoT). 
Assinale a alternativa que apresente a melhor definição de 
internet das coisas (IoT):
a) Revolução tecnológica que busca conectar itens usados 
no dia a dia à internet.
b) Revolução tecnológica que busca desconectar itens 
usados no dia a dia à internet.
c) Revolução tecnológica que busca conectar itens usados 
no dia a dia ao smartphone.
d) Revolução tecnológica que busca conectar itens usados 
no dia a dia ao computador.
e) Revolução tecnológica que busca conectar itens usados 
no dia a dia ao smartwatch.
Referências Bibliográficas
ALVES, Thiago Salhab. Tecnologias para web e para dispositivos móveis. Londrina: 
Editora e Distribuidora Educacional S.A., 2016.
Aplicações Móveis 19
DOCUSIGN. Mobilidade Digital: por que sua empresa precisa de uma estratégia? 26 de 
set. 2017. Disponível em: <https://www.docusign.com.br/blog/mobilidade-digital/>. 
Acesso em: 14 jan. 2019.
MATEUS, G. R.; LOUREIRO, A. F. Introdução a Computação Móvel. 2. ed. 11. Escola 
de Computação, COPPE/Sistemas, NCE/UFRJ, 1998.
MOLL, Cameron. Mobile WEB Design. United Kingdom: Mobile Web Book, 2006.
MORIMOTO, Carlos E. Smartphones: guia prático. GDH Press, 2009.
MUCHOW, John W. Core J2ME: tecnologia e MIDP. São Paulo: Pearson Makron Books, 
2004.
MUNARO, Juliana.  O futuro dos wearables.  G1, 16 de set. 2018. Disponível em: 
<https://g1.globo.com/economia/pme/pequenas-empresas-grandes-negocios/noti-
cia/2018/09/16/o-futuro-dos-wearables.ghtml>. Acesso em: 14 jan. 2019.
OLIVEIRA, V.; PAULINO, R. C. R. Construção e estrutura da notícia nas interfaces dos 
tablets. E-COM (Belo Horizonte), v. 6, p. 1-20, 2013.
Gabarito – Tema 01
Questão 1 – Resposta: C
A rede 3G usa principalmente as tecnologias WCDMA e CDMA e ofe-
rece velocidades mínimas de 200 kpbs.
Questão 2 – Resposta: B
O iPhone, da Apple, utiliza um sistema operacional exclusivo chama-
do iOS.
Questão 3 – Resposta: A
A Internet das Coisas (IoT) é uma revolução tecnológica que busca 
conectar itens usados no dia a dia à internet. 
https://www.docusign.com.br/blog/mobilidade-digital/
https://g1.globo.com/economia/pme/pequenas-empresas-grandes-negocios/noticia/2018/09/16/o-futuro-dos
https://g1.globo.com/economia/pme/pequenas-empresas-grandes-negocios/noticia/2018/09/16/o-futuro-dos
Aplicações Móveis 20
TEMA 02
PROCESSOS DE DESENVOLVIMENTO 
DE SOFTWARE
Objetivos
• Aprender sobre processos de desenvolvimento de 
software.
• Conhecer o Manifesto Ágil.
• Aprender os princípios da UX Design.
• Aprender Técnicas de Design Thinking.
Aplicações Móveis 21
1. Processos de desenvolvimento de software
Você já parou para pensar como seria a nossa vida sem o uso de sistemas 
de software? Há algumas décadas, toda gestão de um comércio ou indús-
tria, por exemplo, era realizada de forma manual, utilizando livros-caixa, 
planilhas, cadernos e máquina de escrever. Imagine como era o trabalho 
desses gestores nessa época?O avanço da tecnologia da informação e o 
do processo de desenvolvimento de software, facilitou e popularizou o 
uso de computadores e sistemas de software.
Nesta Leitura, será apresentado o processo de desenvolvimento de sof-
tware, conhecido como processo de desenvolvimento clássico. Você 
aprenderá sobre o Manifesto Ágil e o processo de desenvolvimento ágil, 
bem como os princípios da UX Design e Design Thinking. Uma boa aula e 
bons estudos.
1.1. Processo de desenvolvimento de software clássico
De acordo com Sommerville (2007), todos os paísem utilizam e dependem 
de sistemas complexos de computadores. Todo o processo de manufatu-
ra e distribuição industrial está automatizado. Nesse sentido, produzir e 
manter software com custos adequados é essencial para o funcionamen-
to da economia nacional e internacional.
Engenharia de Software é a área da Engenharia com foco no desenvolvi-
mento de sistemas de alta qualidade, dentro de custos adequados. Como 
o software é abstrato e intangível, não sendo limitado por materiais ou 
controlado pelas leis da física, faz com que o processo possa ser tornar 
extremamente complexo e difícil de ser compreendido.
Segundo Pressman (2006), o termo Engenharia de Software foi proposto 
em 1968, em uma conferência na Alemanha, organizada para discutir a 
chamado Crise de Software. Não obstante, a crise de software foi resul-
tante do avanço do hardware de computador baseado em circuitos inte-
grados. Isso fez o poder computacional crescer, tornando viável o desen-
volvimento de determinados softwares até então inviáveis, ampliando a 
ordem de grandeza e complexidade envolvidas em softwares anteriores.
22 Aplicações Móveis
A construção desses sistemas só mostrou que o desenvolvimento infor-
mal de software não era suficiente, ou seja, o processo estava em crise e 
que novas técnicas e métodos eram necessários para controlar a comple-
xidade dos grandes sistemas de software.
Ainda, segundo Pressman (2006), o termo crise de software expressava as 
dificuldades de desenvolvimento frente ao rápido crescimento da deman-
da, da complexidade dos problemas a serem resolvidos e da inexistência 
de técnicas refinadas que funcionassem adequadamente ou pudessem 
ser validadas, ainda na fase de desenvolvimento.
De outro modo, de acordo com Dijkstra (1972), programar tornou-se um 
problema à medida que a complexidade e o tamanho das máquinas au-
mentaram. Em outras palavras, a potencia das máquinas é diretamente 
proporcional à complexidade da programação.
A situação ainda era agravada por outro motivo: os primeiros programado-
res não possuíam as ferramentas que dispomos hoje. Não havia técnicas 
consagradas de trabalho, escolas ou a profissão de programador e as pes-
soas aprendiam e exerciam essa atividade aprendendo por tentativa e erro.
Em congresso de 1968, os problemas apontados para a construção de 
software foram:
• Cronogramas não observados.
• Projetos com tantas dificuldades que foram abandonados.
• Módulos que não operavam corretamente quando combinados.
• Programas que não faziam exatamente o que era esperado.
• Programas tão difíceis de usar que eram descartados.
• Programas que simplesmente paravam de funcionar.
Os problemas encontrados em 1968 foram totalmente resolvidos ou ain-
da se encontram empresas vivendo em crise? Sim, ainda há empresas vi-
venciando a crise inciada há algum tempo, e isso mostra que muitas delas 
são imaturas para o processo de desenvolvimento de software.
Uma organização imatura apresenta os seguintes aspectos:
Aplicações Móveis 23
• Os processos de software são geralmente improvisados pelos prati-
cantes ou gerentes durante o andamento do projeto.
• O processo de software especificado não é seguido rigorosamente.
• Os gerentes estão focados em resolver crises.
• Essas organizações excedem prazos, orçamentos, pois não estão 
baseadas em estimativas reais.
Figura 1 – Falha em software
Fonte: flzkes/iStock.com.
A Figura 1 ilustra um dos problemas apontados na conferência de 1968, 
na Alemanha, relacionado à Crise de Software, que é a falha de software.
Ainda sobre a superação parcial da crise de software, Sommerville (2007) 
descreve que essas novas técnicas, propostas para solucionar os problemas 
relacionados à crise, tornaram-se parte da engenharia de software, criando 
um novo processo de desenvolvimento de software propriamente dito.
À saber, um processo de desenvolvimento de software é um conjunto de 
atividades que produz um produto de software. Aqui, vale apontar as qua-
tro atividades fundamentais desse processo, comuns a todos os softwares:
24 Aplicações Móveis
• Especificação de software: clientes e engenheiros definem o softwa-
re a ser produzido e as retrições para a sua operação.
• Desenvolvimento de software: o software é projetado e programado.
• Validação de software: na qual o software é verificado para garantir 
que é o que o cliente deseja (verificações junto ao cliente).
• Evolução de software: o software é modificado para se adaptar às 
mudanças dos requisitos do cliente e do mercado.
A seguir, uma discussão acerca dos modelos criados e aprimorados em 
apoio ao processo de desenvolvimento de software. 
Modelo Cascata
De acordo com Sommerville (2007), esse foi o primeiro modelo de proces-
so de desenvolvimento de software. Publicado em 1970, o modelo possui 
esse nome porque o processo é visto como um “fluir constante para fren-
te” (como uma cascata), e é aplicado para sistemas de grande porte.
Figura 2 – Modelo Cascata
Fonte: cacaroot/iStock.com.
Aplicações Móveis 25
A Figura 2 ilustra as fases do processo de desenvolvimento de software, 
cascata, proposto por Royce em 1970.
Pressman (2006) apresenta as fases do modelo com suas atividades:
• Requisitos: os serviços, restrições e objetivos do sistema são defi-
nidos por meio de consulta aos usuários do sistema. Eles são, 
portanto, definidos detalhadamente e servem como uma especifi-
cação do sistema.
• Projeto: divide os requisitos em sistemas de hardware ou de softwa-
re. Envolve a identificação e a descrição das abstrações fundamentais 
do sistema de software e suas relações.
• Implementação: o projeto de software é realizado como um conjun-
to de programas ou unidades de programa. O teste unitário envolve 
a verificação de que cada unidade atende as suas especificações.
• Integração e verificação de sistema: as unidades individuais de pro-
grama ou os programas são integrados e testados como um sistema 
completo para garantir que os requisitos de software foram atendi-
dos. Após os testes, o sistema de software é liberado ao cliente.
• Operação e manutenção: geralmente esta é a fase mais longa do 
ciclo de vida. O sistema é instalado e colocado em operação. A manu-
tenção envolve a correção de erros não detectados nos estágios 
anteriores do ciclo de vida, no aprimoramento da implementação 
das unidades de sistema e na ampliação dos serviços de sistema à 
medida que novos requisitos são identificados.
Desenvolvimento evolucionário
Sommerville (2007), apresenta um desenvolvimento baseado em uma 
descrição inicial, expondo o resultado aos comentários do usuário e re-
finando por meio de várias versões até que seja desenvolvido um siste-
ma adequado. Dois tipos de desenvolvimento evolucionário podem ser 
considerados:
26 Aplicações Móveis
• Exploratório: o objetivo do processo é trabalhar com o cliente para 
explorar os requisitos e entregar um sistema final. O desenvolvi-
mento começa com as partes do sistema compreendidas e evolui 
por meio da adição de novas características propostas pelo cliente.
• Prototipação throwaway: o objetivo do processo de desenvolvimen-
to evolucionário é compreender os requisitos do cliente e, a partir 
disso, desenvolver melhor a definição de requisitos para o sistema. 
O protótipo se concentra na experimentação dos requisitos mal 
compreendidos do cliente.
PARA SABER MAIS
Do ponto de vista da engenharia e do gerenciamento, a abor-
dagem evolucionária tem dois problemas:• O processo não é viável. Os gerentes precisam de pro-
dutos regulares para medir o progresso. Se os sistemas 
são desenvolvidos rapidamente, não é economicamen-
te viável produzir documentos que reflitam cada versão 
do sistema.
• Os sistemas são frequentemente mal estruturados. 
A mudança contínua tende a corromper a estrutura 
do software. A incorporação de mudanças de software 
torna-se cada vez mais difícil e onerosa.
Engenharia de software baseada em componentes
Sommerville (2007) apresenta a engenharia de software baseada em com-
ponentes como um processo que utiliza uma grande base de componen-
tes de softwares reusáveis e um framework de integração dos componen-
tes. São sistemas independentes que fornecem funcionalidade específica.
Aplicações Móveis 27
Entrega incremental
Pressman (2006) apresenta a entrega incremental como uma abordagem 
intermediária que utiliza as vantagens do modelo cascata. No processo de 
desenvolvimento incremental, o cliente identifica os serviços mais e me-
nos importantes. Define-se o número de incrementos de entrega com as 
funcionalidades do sistema. Quando um incremento é concluído, o clien-
te já pode colocá-lo em operação.
Desenvolvimento em espiral
O modelo em espiral foi proposto por Boehm, em que apresenta o pro-
cesso de software como uma sequência de atividades com um retorno 
entre uma atividade e outra, representando o processo como um espi-
ral. Cada loop na espiral representa uma fase do processo de software 
e está dividido em quatro setores: definição de objetivos, avaliação e re-
dução de riscos, desenvolvimento e validação e, por fim, planejamento 
(SOMMERVILLE, 2007).
A principal diferença entre o modelo espiral e os outros modelos do pro-
cesso de software é o reconhecimento explícito do risco no modelo em 
espiral. Risco significa simplesmente algo que pode dar errado. Por exem-
plo, se a intenção for usar uma nova linguagem de programação, um risco 
é que os compiladores disponíveis não sejam confiáveis ou não produzam 
código-objeto suficientemente eficaz.
1.2 Processo de desenvolvimento de software Ágil
De acordo com Sommerville (2007), as metodologias tradicionais são tam-
bém chamadas de pesadas ou orientadas à documentação. Essas meto-
dologias surgiram em um contexto de desenvolvimento de software mui-
to diferente do atual, baseado em mainframes e terminais.
Como não haviam ferramentas de apoio ao desenvolvimento de softwa-
re, como depuradores e analisadores de código, o custo de alterações e 
correções era muito alto. Assim, o software era todo planejado e docu-
mentado antes de ser implementado.
28 Aplicações Móveis
De maneira geral, o modelo clássico deve ser usado somente quando os 
requisitos forem estáveis. O custo das alterações do software eleva-se 
rapidamente à medida que o desenvolvimento progride. Estima-se que 
as alterações efetuadas, quando o produto já está pronto, podem custar 
cem vezes mais que as alterações realizadas na fase de levantamento de 
requisitos.
Durante o teste de um módulo, como exemplo, verifica-se a necessidade 
de incluir um atributo novo em uma tabela já existente no banco de da-
dos. Para ganhar tempo, decide-se que este atributo seja incluído apenas 
no código-fonte do software, não alterando os modelos feitos. O resulta-
do final é que o software não está de acordo com a documentação asso-
ciada, dificultando futuras alterações.
Pressman (2006) diz que as metodologias ágeis são adequadas para si-
tuações em que a mudança de requisitos é frequente. O termo meto-
dologias ágeis tornou-se popular em 2001, quando 17 especialistas em 
processos de desenvolvimento de software estabeleceram princípios co-
muns compartilhados pelos métodos eXtreme Programming (XP), Scrum, 
entre outros. O resultado foi a criação da Aliança Agile e o estabelecimen-
to do Manifesto Ágil. Não obstante, os conceitos-chave do Manifesto Ágil 
enfatizam:
• Indivíduos e iterações ao invés de processo e ferramentas.
• Software executável ao invés de documentação.
• Colaboração do cliente ao invés de negociação de contratos.
• Respostas rápidas a mudanças ao invés de seguir planos.
ASSIMILE
O Manifesto Ágil não rejeita processos e ferramentas, nem do-
cumentação, negociação de contratos ou planejamento, mas 
simplesmente mostra que esses têm importância secundária 
quando comparados a indivíduos, ao software executável, a 
colaboração dos clientes e a resposta rápida às mudanças.
Aplicações Móveis 29
eXtreme Programming
O eXtreme Programming é uma Metodologia Ágil para equipes pequenas 
e médias que desenvolvem software baseado em requisitos vagos e que 
são modificados rapidamente (SOMMERVILLE, 2007). Como principais di-
ferenças da XP em relação às demais metodologias estão:
• Feedback constante.
• Abordagem incremental.
• Comunicação encorajada entre pessoas.
A informação sobre o código é obtida por testes constantes, que indicam 
os erros tanto individuais quanto do software integrado. Em relação ao 
cliente, o feedback constante significa que ele terá, frequentemente, uma 
parte do software totalmente funcional para avaliar.
Assim, o cliente constantemente sugerirá novas características e informa-
ções aos desenvolvedores. Erros, e não conformidades, serão rapidamen-
te identificados e corrigidos nas versões seguintes, tendo ao final um pro-
duto de acordo com as expectativas do cliente.
O eXtreme Programming baseia-se em doze práticas, não sendo necessária 
a implementação dessas práticas de maneira simultânea, mas sim, reco-
menda-se que sejam aplicadas gradativamente.
Algumas das práticas supracitadas não são novas, pois são usadas há 
muitos anos na indústria. As práticas são:
• Planejamento: consiste em decidir o que é necessário fazer e o que 
pode ser adiado no projeto. A XP baseia-se em requisitos atuais reais 
para desenvolvimento de software, não em possíveis requisitos futuros.
• Entregas frequentes: visam a construção de um software simples, 
atualizado à medida que novos requisitos surjam. Cada versão deve 
ter o menor tamanho possível, contendo os requisitos de maior 
valor ao negócio.
• Metáfora: são as descrições de um software sem a utilização de ter-
mos técnicos com o intuito de guiar o desenvolvimento do software.
30 Aplicações Móveis
• Projeto simples: o programa deve ser o mais simples possível e deve 
satisfazer os requisitos atuais, sem a preocupação com requisitos 
futuros. Eventuais requisitos futuros devem ser adicionados assim 
que, de fato, existirem.
• Testes: a XP focaliza a validação do projeto durante todo o processo 
de desenvolvimento. Os programadores desenvolvem o software 
criando, primeiramente, os casos de testes. Vale pesquisar sobre 
TDD (Test-driven Development).
• Programação em pares: a implementação do código é feita em duplas, 
ou seja, dois desenvolvedores trabalham em um único computador. 
Um desenvolvedor implementa o código enquanto o outro observa 
continuamente o trabalho que está sendo feito, procurando por erros 
sintáticos e semânticos e pensando em como melhorar o código.
• Refatoração: aperfeiçoar o projeto do software em todo o desen-
volvimento. A refatoração deve ser feita sempre que for possível 
simplificar uma parte do software, sem que seja perdida nenhuma 
funcionalidade.
• Propriedade coletiva: o código do projeto pertence a todos os mem-
bros da equipe. Qualquer pessoa pode adicionar valor a um código, 
mesmo que não o tenha desenvolvido.
• Integração contínua: uma vez testado e validado, o código produ-
zido por uma equipe deve ser integrado ao sistema e este, por sua 
vez, também deve ser testado.
• Trabalho semanal de 40 horas: a XP assume que não se deve fazer 
horas extras constantemente. Caso seja necessário trabalhar mais 
que 40 horas pela segunda semana consecutiva, há um problema 
no projeto que deve ser resolvido, não com o aumento de horas tra-
balhadas, mas com melhor planejamento, por exemplo.
• Cliente presente: é fundamental a participação do cliente durante 
todo o desenvolvimento doprojeto. O cliente deve estar sempre 
disponível para sanar todas as dúvidas sobre requisitos.
Aplicações Móveis 31
• Código-padrão: recomenda-se a adoção de regras de escrita. A 
padronização favorece o trabalho em equipe e a propriedade cole-
tiva do código.
A partir disso, o cliente, constantemente, sugerirá novas características e 
informações aos desenvolvedores. Erros, e não conformidades, serão ra-
pidamente identificados e corrigidos nas versões seguintes, tendo ao final 
um produto de acordo com as expectativas do cliente.
Scrum
Outra Metodologia Ágil com uma comunidade grande de usuários é a 
Scrum. Seu objetivo é fornecer um processo conveniente para projeto e 
desenvolvimento orientado a objeto (SOMMERVILLE, 2007).
O Scrum apresenta uma abordagem empírica que aplica algumas ideias 
da teoria de controle de processo industriais para o desenvolvimen-
to de software, reintroduzindo a ideia de flexibilidade, adaptabilidade e 
produtividade.
A seguir, apresentamos os seguintes elementos:
• Product Backlog: é uma lista de atividades definida pelo Product Owner. 
São funcionalidades a serem entregues ao cliente. O documento pode 
ser alterado a qualquer momento. Quando se tem o Product Backlog 
pronto pode-se partir para a próxima etapa: o Sprint Backlog.
• Sprint Backlog: é uma lista de tarefas que o Scrum team se compro-
mete a fazer em um Sprint, ou seja, “janelas de desenvolvimento” 
com duração máxima de um mês.  Os itens do Sprint Backlog são 
extraídos do Product Backlog pela equipe, com base nas prioridades 
definidas pelo Product Owner e a percepção da equipe sobre o tem-
po que será necessário para completar as várias funcionalidades.
• Product Owner: é a pessoa que define os itens que compõem o Product 
Backlog e os prioriza nas Sprint Planning Meetings. O Scrum Team olha 
para o Product Backlog priorizado, seleciona os itens mais prioritá-
rios e se compromete a entregá-los ao final de um Sprint (iteração). 
Estes itens transformam-se no Sprint Backlog.
32 Aplicações Móveis
• Scrum Master: procura assegurar que a equipe respeite e siga os valo-
res e as práticas do Scrum. Atua como facilitador do Daily Scrum e 
torna-se responsável por remover quaisquer obstáculos que sejam 
levantados pela equipe durante essas reuniões.
• Daily Scrum: reunião feita diariamente para disseminar o que foi fei-
to no dia anterior. Identifica impedimentos e prioriza o trabalho a 
ser feito no dia a frente. Realizada pelo Scrum Master, com participa-
ção geral, feito no mesmo lugar e hora todos os dias.
• Sprint Review Meeting: feito ao final de cada Sprint onde é lançado o que 
foi alcançado durante o Sprint propriamente dito. Os participantes 
do Sprint Review tipicamente incluem o Product Owner, o Scrum Team, 
o Scrum Master, gerência, clientes e engenheiros de outros projetos.
• Sprint Retrospective: esta reunião tem o objetivo de rever os erros 
e acertos no Sprint realizado. É uma das partes mais importantes 
do processo, já que nela é possível aprender com os erros e tentar 
aprimorar o produto.
Figura 3 – Scrum Sprint
Fonte: jazz42/iStock.com.
A Figura 3 ilustra um Sprint em andamento. É possível visualizar o que foi 
planejado, o que está em progresso, realizado e em espera.
Aplicações Móveis 33
1.3. Princípios da UX Desing e Design Thinking
UX (User Experience) se refere a todos os aspectos relacionados ao uso de 
uma tecnologia por uma pessoa, desde um aplicativo de celular até um 
caixa eletrônico. Está relacionado também a como uma pessoa se sente 
ao usar um produto ou serviço. A experiência do usuário engloba todos 
os aspectos da interação do usuário final com a empresa, seus serviços, 
produtos, estudando as melhores maneiras de atender às necessidades 
dos usuários e deixá-los satisfeitos.
O UX Designer irá estudar e avaliar como os usuários se sentem sobre um 
sistema, levando em consideração aspectos como a facilidade de uso, a 
percepção de valor do sistema e a eficiência na execução de tarefas.
Design Thinking auxilia no entendimento de parâmetros e padrões essenciais 
para criar projetos de melhor qualidade. É um processo de pensamento crí-
tico e criativo que permite organizar informações e ideias, tomar decisões, 
aprimorar situações e adquirir conhecimento. Processo: imersão (entendi-
mento), ideação (criação), prototipação (teste) e desenvolvimento (aplicação).
Dessa forma, foi realizado um estudo sobre processo de desenvolvimento de 
software clássico e ágil, princípios da UX Desing e Design Thinking, destacan-
do os processos de desenvolvimento de software clássicos cascata, entrega 
incremental, baseado em componentes, evolucionário e espiral, e os proces-
sos de desenvolvimento de software ágil eXtreme Programming e Scrum.
TEORIA EM PRÁTICA
Uma padaria do seu bairro gostaria de automatizar seu pro-
cesso de pedidos de lanchonete, substituindo os atuais car-
dápios por algo digital e totalmente interativo, facilitando e 
agilizando o pedido dos clientes. Atualmente, o cliente pre-
cisa verificar o cardápio e aguardar a disponibilidade de um 
atendente para realizar seu pedido. Muitas vezes a quantida-
de de clientes é muito grande, e os pedidos acabam demo-
rando muito. Quais processos de desenvolvimento de sof-
tware podem ser aplicados a esta situação?
34 Aplicações Móveis
VERIFICAÇÃO DE LEITURA
TEMA 02
1. O termo Engenharia de Software foi proposto em 1968, em 
uma conferência na Alemanha, que foi organizada para dis-
cutir um problema relacionado ao desenvolvimento de sof-
tware que estava com problemas relacionado ao processo de 
desenvolvimento de sistema. Assinale a alternativa que apre-
senta, corretamente, o problema encontrado nesse período:
a) Crise de hardware.
b) Crise de software.
c) Crise da computação.
d) Crise de hardware e software.
e) Crise da computação e hardware.
2. As metodologias ágeis são adequadas para situações em 
que a mudança de requisitos é frequente. O termo meto-
dologias ágeis tornou-se popular em 2001, quando 17 es-
pecialistas em processos de desenvolvimento de software 
estabeleceram princípios comuns. Assinale a alternativa 
que apresente, corretamente, metodologias ágeis de de-
senvolvimento de sistemas.
a) Cascata e entrega incremental.
b) Espiral e cascata.
c) eXtreme Programming e Scrum.
d) Scrum e espiral.
e) eXtreme Programming e espiral.
3. A UX (User Experience) refere-se a todos os aspectos rela-
cionados ao uso de uma tecnologia por uma pessoa, desde 
um aplicativo de celular até um caixa eletrônico. Assinale 
a alternativa que apresente, corretamente, o propósito da 
UX Desing:
Aplicações Móveis 35
a) Estudar e avaliar como os usuários se sentem sobre 
um sistema.
b) Estudar e avaliar como os usuários se sentem sobre o 
hardware.
c) Estudar e avaliar como os usuários se sentem sobre 
uma tecnologia.
d) Estudar e avaliar como os usuários se sentem sobre 
um computador.
e) Estudar e avaliar como os usuários se sentem sobre a 
internet.
Referências Bibliográficas
PRESSMAN, R. Engenharia de Software. 6. ed. São Paulo: Makron Books, 2006.
SOMMERVILLE, I. Engenharia de Software. 8. ed. São Paulo: Pearson Education do 
Brasil, 2007.
Gabarito – Tema 02
Questão 1 – Resposta: B
A crise de software foi discutida em 1968, em uma conferência na 
Alemanha, tratando dos problemas relacionados ao desenvolvimen-
to de software.
Questão 2 – Resposta: C
As metodologias de desenvolvimento de sistemas ágeis são eXtreme 
Programming e Scrum.
Questão 3 – Resposta: A
A UX Desing tem por objetivo estudar e avaliar como os usuários se 
sentem sobre um sistema.
Aplicações Móveis 36
TEMA 03
PROGRAMAÇÃO ORIENTADA 
A OBJETOS
Objetivos
Aprender sobre:
• Linguagens de Programação Orientada a Objetos.
• Programação para Android (Java);
• Programação para iOS (Swift e Objective-C);
• Programação para Windows Phone (C#).
Aplicações Móveis 37
1. Linguagens de Programação
Você já parou para pensar como os programas para computadores, ta-
blets, smartphones e smartwatches são criados? Háalgumas décadas, o 
foco do desenvolvimento de sistemas eram os mainframes e microcom-
putadores (sistemas para área de trabalho). Com o avanço da tecnologia 
da informação, hardware, internet e redes de telefonia móvel, o desenvol-
vimento passou a ser para dispositivos móveis.
Nessa leitura, será apresentado o paradigma de programação orientada a 
objetos e os principais sistemas operacionais e linguagens de programa-
ção utilizadas para a programação de aplicativos. Você aprenderá sobre a 
programação para Android, iOS e Windows Phone, bem como as ferramen-
tas utilizadas para o desenvolvimento. Boa aula e bons estudos!
1.1. Programação Orientada a Objetos
Um paradigma é um modelo a ser utilizado, fazendo uso de métodos e 
técnicas que usam os mesmos princípios. Na orientação a objetos, utiliza-
se o conceito de que o mundo real é composto por objetos, combinando 
dados e funções, enquanto os problemas são mapeados para objetos que 
estão relacionados e interagem entre si. (ALVES, 2018)11.
A orientação a objetos apresenta vários benefícios, tais como: melhor 
comunicação entre analista de sistema e especialista (pessoa detentora 
dos requisitos), melhoria do processo de análise de sistemas, represen-
tação padronizada para análise de sistemas (Linguagem de Modelagem 
Unificada - UML), projeto e apoio à reutilização de código.
Por meio da orientação a objetos, é possível diminuir o gap semântico 
(distância entre o problema no mundo real, e o modelo abstrato constru-
ído e programado).
1 ALVES, Thiago Salhab. Projeto de Sistemas. Londrina: Editora e Distribuidora Educacional S.A., 2018.
38 Aplicações Móveis
Classes e objetos
Classes representam o agrupamento e descrevem um conjunto de obje-
tos. Objetos são instâncias de classes, isto é, pertencem a uma determi-
nada classe que, por sua vez, descrevem as características e propriedades 
do objeto. Objetos pertencem a apenas uma classe. As classes são usadas 
como classificadoras de objetos do mundo real e descrevem objetos de 
qualquer tipo de sistema (SCHACH, 2010)2.
Para identificar as classes de um sistema, é necessário determinar o do-
mínio do problema a que se destina o modelo de software. Assim, as clas-
ses são derivadas desse domínio e nomeadas de acordo com o que repre-
sentam no sistema.
Segundo Schach (2010), uma classe é constituída de dois grupos de ele-
mentos: atributos e métodos. Um atributo (atribute) de uma classe é uma 
característica pertencente a esta classe e é utilizada para armazenar algu-
ma informação que está associada a classe, como, por exemplo, uma clas-
se produto possuir como um de seus atributos código_produto e nome_
produto. Enquanto os atributos armazenam dados de objetos, os méto-
dos (methods) são utilizados para realizar operações sobre os atributos de 
uma classe, como, por exemplo, cadastrarProduto e consultarProduto.
Figura 1 - Linguagens de Programação
Fonte: gguy44/iStock.com.
2 SCHACH, S.R. Engenharia de Software: os paradigmas clássico e orientado a objetos. 7. ed. Porto Alegre: AMGH, 2010.
Aplicações Móveis 39
A figura 1 ilustra as linguagens de programação mais populares e utiliza-
das para programação. Destaque para as linguagens orientadas a objetos 
Java (Android) e Objective-C (iOS).
PARA SABER MAIS
A programação orientada a objetos conta com quatro con-
ceitos, também conhecidos como pilares:
• Abstração: como representado na programação orien-
tada a objetos, objetos do mundo real, é necessário 
levar em conta, na abstração, a identidade (nome) dos 
objetos, suas propriedades (características) e métodos 
(ações ou eventos).
• Encapsulamento: evita o acesso direto a propriedade 
do objeto, como se fosse uma caixa preta, adicionando 
segurança para as classes, mantendo as propriedades 
como privadas (private), sendo acessadas por métodos 
chamados getters e setters.
• Herança: é uma das grandes vantagens da programa-
ção orientada a objetos. Permite que uma classe filha 
herde os comportamentos (atributos e métodos) de 
uma classe pai.
• Polimorfismo: é a capacidade de um método assumir 
várias formas.
Segundo Alves (2018)3, objetos são entidades independentes e dois obje-
tos, mesmo que possuam os mesmos atributos, não correspondem aos 
mesmos objetos propriamente ditos. Considere, por exemplo, dois obje-
tos da classe aluno, aluno_01 e aluno_02, cada um desses objetos é inde-
pendente e terão seus próprios atributos e métodos.
3 ALVES, Thiago Salhab. Projeto de Sistemas. Londrina: Editora e Distribuidora Educacional S.A., 2018.
40 Aplicações Móveis
1.2. Programação para Android
De acordo com Lecheta (2013)4, o Android é um sistema operacional para 
dispositivos móveis baseado no Linux, contando com aplicações já insta-
ladas. Desenvolvido pela Google, que está presente em vários aparelhos 
dos mais conhecidos e importantes fabricantes, como Sony, Motorola, 
Samsung e LG, sendo considerada uma das mais populares plataformas 
do mundo. O Android tem seu núcleo baseado no Linux, além de possuir 
um código aberto e a possibilidade dos fabricantes personalizarem suas 
versões.
Segundo Alves (2016)5, a data de lançamento do Android foi 2008 e, desde 
então, tem sido aperfeiçoado pela Google com muitas novidades, apre-
sentando atualizações que ocorrem periodicamente, cujos nomes ficaram 
famosos por receber nomenclaturas de doces (exemplos: KitKat, Lollipop).
Cada fabricante do Android tem uma versão personalizada e, por esse 
motivo, ele é diferente em cada celular. O fabricante cria então um Android 
personalizado, podendo alterar a interface e aplicativos variados, chama-
dos ROMs. Todos têm em comum o uso de aplicativos da Google, como 
Gmail, Google Now e Google Maps.
Devido à customização que cada fabricante faz no Android, antes do lan-
çamento do novo modelo, é feita uma espécie de homologação que ve-
rificará se as modificações feitas na ROM do sistema não interferiram na 
suíte padrão de aplicativos Google.
Não obstante, em 2007, foi criada a Open Handset Alliance (OHA), uma 
aliança de várias empresas com o objetivo de criar padrão aberto para 
telefonia móvel. Fazem parte da OHA, empresas como a Google, a HTC, a 
Dell, a Samsung, a LG, a Motorola, entre outras (ALVES, 2016)6.
4 LECHETA, Ricardo R. Google Android: aprenda a criar aplicações para dispositivos móveis com o Android SDK. 3. ed. São 
Paulo: Novatec, 2013.
5 ALVES, Thiago Salhab. Tecnologias para web e para dispositivos móveis. Londrina: Editora e Distribuidora Educacional 
S.A., 2016.
6 ALVES, Thiago Salhab. Tecnologias para web e para dispositivos móveis. Londrina: Editora e Distribuidora Educacional 
S.A., 2016.
Aplicações Móveis 41
Figura 2 - Sede da Google com Android
Fonte: SpVVK/iStock.com.
A figura 2 ilustra o mascote, símbolo do Android, em frente a sede da 
Google em Mountain View, Califórnia. 
À título de ilustração, acerca do aprimoramento de processos na área, o 
Android SDK deixou de ser o software que possibilita o desenvolvimento 
de aplicações no Android. Antes, possuía um emulador para simular o ce-
lular, utilitários e API para a linguagem Java, com as classes utilizadas para 
desenvolver as aplicações. Inclusive, havia um plug-in para a IDE Eclipse, 
com objetivo de integrar o ambiente de desenvolvimento Java com o 
Emulador (LECHETA, 2013)7.
Hoje em dia, o Android já conta com a IDE própria, baseada numa IDE da 
JetBranis (o Android Studio). Muitos recursos de desenvolvimento foram 
aprimorados e o plug-in para o Eclipse (Eclipse ADT) foi descontinuado. Isso 
significa dizer que, se tentar acessar o Eclipse ADT, você será redirecionado 
diretamente ao download do Android Studio.
7 LECHETA, Ricardo R. Google Android: aprenda a criar aplicações para dispositivos móveis com o Android SDK. 3. ed. São 
Paulo: Novatec, 2013.
42 Aplicações Móveis
Figura 3 - Código fonte em Java
Fonte: SpVVK/iStock.com.
A figura 3 ilustra um código fonte, em linguagem Java, destacando um mé-
todo chamado getEventTypeString e seu conteúdo.
ASSIMILE
A linguagem utilizada para aconstrução dos códigos para 
Android é a linguagem Java, porém, a máquina virtual do 
Android não é a Java Virtual Machine (JVM), sendo usada a 
Dalvik, que é baseada em registradores e projetada pela 
Google, requerendo pouca memória e projetada para que 
múltiplas instâncias da máquina virtual rodassem ao mesmo 
tempo, transformando .class de uma classe compilada para 
o formato .dex.
Aplicações Móveis 43
1.3. Programação para iOS
O iOS, que antes era chamado de iPhone OS, é um sistema móvel da Apple 
Inc. desenvolvido originalmente para iPhone, mas também usado em iPod 
Touch e iPad. A Apple não permite que o iOS seja executado em hardware 
de terceiros.
O iOS consiste em quatro camadas de abstração: Core OS, Core Services, 
mídia e Cocoa Touch (ALVES, 2016)8.
Segundo Alves (2016), para o desenvolvimento de aplicativos para iOS, 
são necessários alguns equipamentos e procedimentos:
• Computador da Apple: é necessário ter um computador da Apple 
para fazer uso das ferramentas para desenvolvimento. Quaisquer 
equipamentos com o sistema operacional Mac OS podem ser uti-
lizados, tais como, MacBoook, MacBook Pro, MacBook Air, Mac Mini 
ou iMac.
• Cadastro de desenvolvimento: para acessar a ferramenta de 
desenvolvimento, documentação, exemplos de código e fórum de 
discussão, é necessário o cadastro na Apple Developer Program, que, 
inicialmente, por ser feito gratuitamente, porém, para criar aplica-
tivos para distribuição na App Store para iPhone, iPad, Mac e Apple 
Watch, é necessário fazer parte do programa ao custo de 99 dólares 
anuais.
• Softwares para desenvolvimento: Xcode 10.1, que é o ambiente de 
desenvolvimento, incluindo a linguagem Swift 4 e SDKs (Software 
Developer Kits) para iOS 12 (iPhone e iPad), watchOS 5 (Apple Watch), 
tvOS 12 (tv digital da Apple) e macOS Mojave (sistema operacional 
para MacBooks e iMacs).
8 ALVES, Thiago Salhab. Tecnologias para web e para dispositivos móveis. Londrina: Editora e Distribuidora Educacional 
S.A., 2016.
44 Aplicações Móveis
Figura 3 – Desenvolvimento para iOS
 Fonte: pressureUA/iStock.com.
A figura 3 ilustra as possibilidades de desenvolvimento para dispositivos 
com iOS, que são o iPad e o iPhone.
A linguagem Objective-C foi criada por Brad Cox, no início da década de 
80, e licenciada em 1988, pela empresa NeXT, tornando-se a linguagem 
de desenvolvimento do NeXTstep. Em 1994, as empresas NeXT e Sun 
Microsystem criaram uma especificação do NeXTstep conhecida como 
OpenStep. Objective-C foi utilizada como principal linguagem de programa-
ção do MacOS X, baseado no NeXTstep. Objective-C é um conjunto de adi-
ções à linguagem C, dando suporte a construções orientadas a objetos.
Figura 4 - Objective-C
Fonte: DenisKot/ iStock.com.
Aplicações Móveis 45
A figura 4 ilustra a linguagem Objective-C e suas possibilidades, como lin-
guagem orientada a objetos.
A linguagem Swift é uma linguagem de programação consistente e intui-
tiva, desenvolvida pela Apple, para a criação de aplicativos para iOS, Mac, 
Apple TV e Apple Watch. Possui código aberto, a fim de que qualquer pessoa 
possa utilizar. Uma vantagem é que a linguagem Swift pode agregar um 
código Objective-C já existente, permitindo escrever códigos mais seguros 
e confiáveis. Os aplicativos criados com Swift são rápidos e dinâmicos. Um 
algoritmo de busca escrito em Swift, por exemplo, é 2,6 vezes mais rápido 
que um programa escrito em Objective-C; e até 8,4 vezes mais rápido que 
um programa escrito em Python 2.7.
1.4. Programação para Windows Phone
De acordo com Alves (2016)9, o Windows Phone é um sistema operacional 
(SO) para smartphones, desenvolvido pela Microsoft e lançado, inicial-
mente, na Europa, Austrália e Singapura, em 21 de outubro de 2010; 
EUA e Canadá, no dia 8 de novembro; México, dia 24 de novembro; e 
Ásia, início de 2011.
Vale ressaltar que, apesar de ser citado nesse material, o Windows Phone 
parou de receber suporte depois da versão 8, em 2017. Em breve, por-
tanto, será um SO obsoleto. Além disso, uma diferença entre o Windows 
Phone e o Android, ou iOS, é possuir o código fechado.
Para o desenvolvimento de aplicativos para Windows Phone, é necessário 
seguir os seguintes procedimentos:
• Realizar o download do kit de desenvolvimento de software do 
Windows Phone (SDK), que é gratuito e inclui as seguintes ferramen-
tas: Visual Studio, para desenvolver a sua App; Expression Blend, para 
desenhar a aparência da sua aplicação; e o Emulador do Windows 
Phone, para testar sua aplicação sem o aparelho celular, mas direta-
mente no PC.
9 ALVES, Thiago Salhab. Tecnologias para web e para dispositivos móveis. Londrina: Editora e Distribuidora Educacional 
S.A., 2016.
46 Aplicações Móveis
Figura 5 - Windows Phone
Fonte: iStock – Tommi/iStock.com.
A figura 5 ilustra a interface gráfica do sistema operacional da Microsoft, 
Windows Phone.
A linguagem utilizada para a programação do Windows Phone é a lingua-
gem C# (leia c-sharp), criada juntamente com a arquitetura da plataforma 
.NET da Microsoft. Muitos desenvolvedores participaram do desenvolvi-
mento da linguagem C#, mas o principal foi Anders Hejlsberg, também 
criador do Turbo Pascal e Delphi.
Tal linguagem foi influenciada por várias linguagens, tais como, Java e C++, 
sendo uma junção de suas principais vantagens, permitindo melhorar 
suas implementações e adicionando novos recursos.
TEORIA EM PRÁTICA
Uma padaria do seu bairro gostaria de automatizar seu pro-
cesso de pedidos de lanches, substituindo os atuais cardápios 
por algo digital e totalmente interativo, facilitando e agilizando 
o pedido dos clientes. Atualmente, o cliente precisa verificar o 
cardápio e aguardar a disponibilidade de um atendente para 
realizar seu pedido. Muitas vezes, a quantidade de clientes é 
muito grande e os pedidos acabam demorando muito.
Qual linguagem de programação e IDEs de desenvolvimento po-
dem ser utilizados para a implementação do sistema da padaria?
Aplicações Móveis 47
VERIFICAÇÃO DE LEITURA
TEMA 03
1. Na Orientação a Objetos, utiliza-se o conceito de que o 
mundo real é composto por objetos, combinando dados e 
funções, e os problemas, por sua vez, são mapeados para 
objetos que estão relacionados e interagem entre si. 
Assinale a alternativa que apresenta, corretamente, os 
principais conceitos da orientação a objetos: 
a) Classes e objetos.
b) Classes e atributos.
c) Objetos e funções.
d) Objetos e atributos.
e) Classes e funções.
2. O Android é um sistema operacional para dispositivos mó-
veis, baseado no Linux, contando com aplicações já insta-
ladas. Assinale a alternativa que apresenta, corretamente, 
a linguagem de programação nativa do Android:
a) C#.
b) Swift.
c) Objective-C.
d) Java.
e) Phyton.
3. É uma linguagem de programação consistente e intuitiva, 
desenvolvida pela Apple para a criação de aplicativos para 
iOS, Mac, Apple TV e Apple Watch. Possui código aberto para 
que qualquer pessoa possa utilizar. 
Assinale a alternativa que apresente, corretamente, a lin-
guagem a que o texto se refere: 
48 Aplicações Móveis
a) Java.
b) Objective-C.
c) Swift.
d) C#.
e) Phyton.
Referências Bibliográficas
ALVES, Thiago Salhab. Tecnologias para web e para dispositivos móveis. Londrina: 
Editora e Distribuidora Educacional S.A., 2016.
ALVES, Thiago Salhab. Projeto de Sistemas. Londrina: Editora e Distribuidora 
Educacional S.A., 2018.
LECHETA, Ricardo R. Google Android: aprenda a criar aplicações para dispositivos 
móveis com o Android SDK. 3. ed. São Paulo: Novatec, 2013.
SCHACH, S.R. Engenharia de Software: os paradigmas clássico e orientado a obje-
tos. 7. ed. Porto Alegre: AMGH, 2010.
Gabarito – Tema 03
Questão 1 – Resposta: A
Os principais conceitos da orientação a objetos são classes e objetos.
Questão 2 – Resposta: D
A linguagem de programação utilizada para a programação do 
Android, no Android Studio, é a linguagem Java.
Questão 3 – Resposta: C
A linguagem ao qual o texto se refere é a linguagem Swift.
Aplicações Móveis49
TEMA 04
DESENVOLVIMENTO DE APLICAÇÕES 
PARA DISPOSITIVOS MÓVEIS
Objetivos
• Aprender sobre o desenvolvimento de aplicações para 
dispositivos móveis.
• Aprender sobre desenvolvimento de Mobile Native App.
• Aprender sobre desenvolvimento Mobile híbrido.
• Aprender sobre ferramentas de desenvolvimento 
mobile híbrido.
50 Aplicações Móveis
1. Desenvolvimento de aplicações para dispositivos 
móveis
Você já parou para analisar como o desenvolvimento de aplicações para 
dispositivos móveis avançou nos últimos anos? No início dos anos 2000, 
os consumidores brasileiros nem sonhavam em ter um dispositivo inte-
ligente (smartphone), na palma de suas mãos. O máximo que conseguía-
mos fazer com os celulares era tirar fotos, geralmente, em padrão VGA, e 
enviar mensagens de texto (SMS). Atualmente, praticamente todas as pes-
soas têm um ou mais smartphones, tablets e smartwatches, mudando total-
mente o foco de desenvolvimento de sistemas para esses equipamentos.
Não obstante, nessa leitura, será apresentado o desenvolvimento de apli-
cações para dispositivos móveis, mobile native app e desenvolvimento de 
plataformas híbridas e ferramentas de desenvolvimento híbrido. Boa aula 
e bons estudos!
1.1. Aplicações para dispositivos móveis
À titulo de introdução, são os aplicativos (apps) que fazem com que o uso de 
smartphones, tablets e smartwatches, tenha aumentado tanto. O computa-
dor tem deixado de ser utilizado como principal meio de acesso à Internet 
e ferramentas para as mais variadas necessidades. Visualizar e responder a 
e-mails, acessar redes sociais, realizar pagamentos e transações bancárias, 
acessar páginas da web, ouvir músicas, assistir a filmes e séries, fotografar, 
filmar e editar fotos e vídeos e até realizar monitoramento de atividades 
físicas, são realizados por dispositivos móveis (ALVES, 2016)1.
Segundo Abranches (2019)2, o usuário passa cada vez mais tempo conec-
tado ao seu dispositivo. Nesse sentido, o uso de apps é uma ferramenta 
para tornar a rotina das pessoas mais prática e eficiente.
1 ALVES, Thiago Salhab. Tecnologias para web e para dispositivos móveis. Londrina: Editora e Distribuidora Educacional 
S.A., 2016.
2 ABRANCHES, Júnior. Aplicativos e desenvolvimento mobile híbrido x nativo. Disponível em: <https://imasters.com.br/
desenvolvimento/aplicativos-e-desenvolvimento-mobile-hibrido-x-nativo>. Acesso em: 26 jan. 2019.
https://imasters.com.br/desenvolvimento/aplicativos-e-desenvolvimento-mobile-hibrido-x-nativo
https://imasters.com.br/desenvolvimento/aplicativos-e-desenvolvimento-mobile-hibrido-x-nativo
Aplicações Móveis 51
Com o avanço dos sistemas operacionais para dispositivos móveis, como 
o Android e iOS, considerando também o aumento da segurança e con-
trole de dados, as pessoas estão mais seguras para comprar e utilizar um 
aplicativo novo. Antes, por exemplo, pagar contas e realizar transferên-
cias bancárias, exigia o deslocamento até uma agência bancária para uso 
de um caixa convencional ou eletrônico, despendendo tempo e recursos. 
Hoje, por meio de um smartphone, essas mesmas ações podem ser reali-
zadas de qualquer lugar e a qualquer momento.
Aplicativos móveis são softwares escritos para dispositivos móveis, que 
desempenham objetivos específicos. De acordo com Abranches (2019), 
no primeiro trimestre de 2016 foi realizado um levantamento sobre os pa-
íses com maior número de downloads de aplicativos e o Brasil foi o tercei-
ro na lista, perdendo apenas para Estados Unidos e China. Há, segundo o 
mesmo autor, duas maneiras de desenvolver aplicativos para dispositivos 
móveis: desenvolvimento nativo (native app) e híbrido.
Figura 1 – Conceito de apps móveis
Fonte: lucadp/ iStock.com.
A figura 1 ilustra o conceito de apps móveis, apresentando uma grande 
variedade de aplicativos, tais como: calendário; previsão do tempo; player 
de música, vídeos, chat, e-mail e relatório mensal. 
52 Aplicações Móveis
Mobile Native App
De acordo com Abranches (2019), um Mobile Native App é um aplicativo de-
senvolvido especificamente para uma determinada plataforma, 
seguindo adequadamente o padrão de interface do usuário.
PARA SABER MAIS
A aparência de um sistema é um dos principais elementos 
para atrair a atenção dos usuários. Nesse sentido, a interfa-
ce do usuário permite ampliar os processos de melhoria e 
divulgação dos softwares, uma vez que afeta a decisão dos 
mesmos em seguir com a sua utilização (SEGURADO, 2015)3. 
De outro modo, se o sistema de software for extremamen-
te funcional, mas, sem uma interface amigável, a tendência 
é de que os usuários abandonem sua utilização. Esse é um 
dos grandes desafios para o desenvolvimento de aplicações 
móveis: construir interfaces bonitas e ao mesmo tempo fun-
cionais (SEGURADO, 2015)4.
Para desenvolver um aplicativo nativo, o programador precisa conhecer 
algumas linguagens de programação e ferramentas para seu desenvolvi-
mento. No caso da programação para Android, é necessário o conhecimen-
to de Java e das IDEs (Integrated Development Enviroment) Android Studio ou 
Microsoft Visual Studio para seu desenvolvimento. No caso do iOS, o co-
nhecimento de Objective-C ou Swift (nova linguagem da Apple baseada em 
Objective-C) e das IDEs XCode ou Microsoft Visual Studios, se faz necessária. 
O custo para o desenvolvimento de um aplicativo nativo é mais elevado, 
pois é necessário contratar um desenvolvedor específico para cada plata-
forma, o que pode demandar um tempo maior para o desenvolvimento 
de determinadas aplicações, porém permite o acesso completo a todos 
os recursos do dispositivo.
3 SEGURADO, Valquiria Santos. Projeto de interface com o usuário. 1. Ed. São Paulo: Pearson Education do Brasil, 2015.
4 SEGURADO, Valquiria Santos. Projeto de interface com o usuário. 1. Ed. São Paulo: Pearson Education do Brasil, 2015.
Aplicações Móveis 53
Dentre os aplicativos nativos, pode-se listar:
• Facebook Messenger: foi desenvolvido para atender recursos dos 
sistemas operacionais Android e iOS, aproveitando melhor as opor-
tunidades e experiência de um app nativo.
• Whatsapp: app de mensagens instantâneas.
• Skype: aplicativo que usa vídeo, áudio e chat em tempo real.
Se o aplicativo a ser desenvolvido for complexo, com acesso a muitos re-
cursos de hardware, o desenvolvimento nativo proporcionará melhor ex-
periência ao usuário. Além disso, se o aplicativo necessita de um layout de 
interface gráfica e uma boa performance para o usuário, o sistema nativo 
continua sendo a melhor opção (ABRANCHES, 2019).
A grande vantagem do desenvolvimento de aplicativos nativos é a qua-
lidade, desempenho e interface de usuário muito superiores, o que faz 
com que os desenvolvedores optem por desenvolver tal modalidade. Por 
outro lado, o custo de desenvolvimento é mais alto para desenvolvedores 
iOS e Android, o que exige conhecimentos específicos.
Figura 2 – Mobile Native App
Fonte: bigtunaonline/ iStock.com.
A figura 2 ilustra alguns dos principais mobile native apps utilizados para 
mídia social, tais como, Facebook, Instagram, WhatsApp e Twitter.
Mobile híbrido
Se um cliente solicitasse a um desenvolvedor, um aplicativo de relatório 
de vendas para as plataformas Android e iOS, em um prazo de trinta dias 
54 Aplicações Móveis
e que, ao término desse período, estivesse publicado nas lojas App Store e 
Play Store, será que este desenvolvimento seria possível?
Muitos programadores responderiam que não seria possível esse desen-
volvimento, pois demanda muito tempo a programação de aplicativos 
personalizados para iOS e Android. 
Entretanto, o problema dessa demanda pode ser resolvido por meio de 
um desenvolvimento mobile híbrido. A programação mobile híbrida é aque-
la em que o desenvolvedor, conhecendo as linguagens HTML (Hipertext 
markup language), CSS (Cascade Style Sheet) e JS (Java Script), consegue, em 
um único código fonte, desenvolver o aplicativo para ambas as platafor-
mas (Android e iOS) (ABRANCHES, 2019).
Aplicativos do tipo mobile híbrido conseguem acessar recursosnativos do 
dispositivo, por meio de aplicativos como o Cordova ou PhoneGap, que 
permitem que os programadores para dispositivos móveis consigam pro-
gramar sem a necessidade de tecnologias ou SDKs ou compiladores usa-
dos nas plataformas Android e iOS.
O custo para o desenvolvimento híbrido é reduzido e a entrega é muito 
mais rápida, pois um único código pode gerar aplicativos para ambas as 
plataformas (Android e iOS).
O desenvolvimento híbrido não necessita de uma IDE específica, poden-
do, por exemplo, usar um bloco de notas para desenvolver, porém há vá-
rios editores ou plug-ins que facilitam a vida do programador. Alguns dos 
editores que podem ser utilizados são o Visual Studio Code e Sublime Text.
Dentre os aplicativos desenvolvidos de forma híbrida, pode-se citar:
• Untappd: rede social para cervejeiros, onde os usuários conseguem 
encontrar cervejarias e bares pelo mundo.
• MarketWatch: aplicativo que oferece aos usuários notícias comer-
ciais e informações do mercado financeiro.
• Pacifica: aplicativo para controle de estresse, ansiedade e preocupa-
ção, constituído por atividades rápidas e interativas que os usuários 
podem realizar, baseado na terapia cognitiva-comportamental.
Aplicações Móveis 55
ASSIMILE
Se o aplicativo for um protótipo ou uma demonstração de 
um sistema, a melhor opção é o desenvolvimento híbrido, 
pois é possível, a curto prazo, realizar a prototipação de telas 
e utilizá-las em multiplataformas.
Se o público-alvo do sistema for mediano, e que exigirá mui-
ta demanda, pode-se adotar o desenvolvimento híbrido. 
Se o tempo para a entrega do aplicativo é curto, o desenvolvi-
mento híbrido é a melhor opção, pois o código é aproveitado 
para multiplataforma.
Figura 3 – Smartphone com Mobile Híbrido
Fonte: jbk_photography/iStock.com.
A figura 3 ilustra o aplicativo MarketWatch, que é um dos aplicativos para 
notícias comerciais e informações do mercado financeiro, sendo um apli-
cativo do tipo mobile híbrido, podendo ser utilizado em Android e iOS.
1.2. Ferramentas de desenvolvimento nativo
Segundo o Google Developers Training Team (2019), um projeto para Android 
começa com uma proposta ou ideia de um aplicativo e a definição dos re-
quisitos para o projeto. Para a codificação para Android, utilize o Android 
56 Aplicações Móveis
Studio seguindo os seguintes passos:
• Criar um projeto no Android Studio e escolher o template apropriado.
• Definir o layout para cada elemento da interface do usuário.
• Codificar, usando a linguagem Java (ou Kotlin), criando o código fon-
te para todos os componentes do app.
• Construir e rodar o app em um aplicativo real ou virtual.
• Publicar o app com a final APK e distribuir por meio dos canais como 
o Google Play.
Uma vez instalado o Android Studio IDE, um novo projeto deve ser criado 
com a escolha da API da versão do Android que será usado (uma versão 
de funcionamento mínimo, como por exemplo, API 15: Android 4.0.3), que 
mostrará a compatibilidade com outros dispositivos. O próximo passo é 
escolher o template de atividade, que é o layout do aplicativo, podendo 
ser customizado. Cada atividade pode ter diferentes templates.
De acordo com a Apple Inc. (2019), a linguagem Swift permite escrever sof-
twares para smartphones, desktops, servidores, sendo rápida, segura e 
que combina o melhor da engenharia da Apple e da comunidade de sof-
tware aberto. O código Swift é compilado e otimizado para aproveitar o 
melhor do hardware.
A sintaxe e a biblioteca padrão foram projetadas dentro do princípio de 
que a melhor maneira de escrever seu código permite uma melhor exe-
cução. Para programar em Swift, a IDE a ser utilizada é a Xcode, que é um 
centro de desenvolvimento da Apple que permite desenvolver produtos 
para Mac, iPhone, iPad, Apple Watch e Apple TV. O Xcode IDE possui um 
source editor, para a escrita dos códigos; um assistant editor, que cria um 
segundo painel para ajudar na codificação; simulador; compilador para C, 
C++, Objective-C e Swift; dentre outros recursos.
Para a construção de uma completa interface de usuário, o Xcode possui 
a interface Builder Built-In, que torna fácil a construção de uma interface 
completa, sem a necessidade de escrever qualquer código. Com um sim-
ples arrastar e soltar de janelas, botões, campos de textos e outros objetos 
Aplicações Móveis 57
na tela de desenho, a fim de criar uma interface de usuário funcional.
Um aplicativo completo para iOS é composto de múltiplas views nas quais 
o usuário navega. As relações entre essas views são definidas por storybo-
ards, que mostram uma visão completa do fluxo do aplicativo. O Xcode 
inclui controladores de storyboard para:
• Table View.
• Collection View.
• Navegação.
• Tab Bar.
• Page View.
• GLKit View.
Figura 4 – Programação de Aplicativo Móvel
Fonte: gorodenkoff/iStock.com.
A figura 4 ilustra uma equipe de desenvolvimento de aplicativo móvel tra-
balhando nos layouts do app em construção.
1.3. Ferramentas de desenvolvimento híbrido
De acordo com DevMedia (2019a), o Apache Cordova é uma plataforma de 
58 Aplicações Móveis
desenvolvimento de aplicativos móveis que utiliza HTML, CSS e JavaScript. Por 
meio de um código central, usando as tecnologias para web, é possível de-
senvolver uma aplicação para várias plataformas mobile, como iOS e Android.
As aplicações desenvolvidas em Cordova funcionam sobre uma web view 
(visão web), mas o usuário tem a impressão de que está utilizando uma 
aplicação nativa. O desempenho não é tão inferior, se comparado a um 
aplicativo nativo, e vem sendo utilizado em muitos projetos. Para o de-
senvolvimento em Cordova existem algumas ferramentas, como o Visual 
Studio, que permite ganho de produtividade.
O Ionic, segundo o DevMedia (2019a), é uma solução baseada no Apache 
Cordova, cujo conjunto de componentes front-end permite escrever códi-
go HTML, CSS e JavaScript, se aproximando a uma aplicação nativa.
Ainda de acordo com DevMedia (2019b), o PhoneGap é um framework 
para desenvolvimento móvel que permite aos desenvolvedores criar apli-
cativos usando o HTML, CSS e JavaScript, sendo um framework multiplata-
forma, desenvolvido pela Adobe Systems, em 2011, e ainda possui código 
fonte aberto. Para que o PhoneGap funcione é necessário ter o JDK Java na 
versão 5, ou superior, instalada no computador.
Figura 5 – Equipe de desenvolvimento de aplicativos móveis
Fonte: scyther5/iStock.com.
A figura 5 ilustra uma equipe de desenvolvimento trabalhando em um 
projeto de mobile híbrido.
Aplicações Móveis 59
TEORIA EM PRÁTICA
Uma padaria de seu bairro gostaria de automatizar seu pro-
cesso de pedidos de lanches, substituindo os atuais cardá-
pios por algo digital e totalmente interativo, facilitando e agi-
lizando o pedido dos clientes. 
Atualmente, o cliente precisa verificar o cardápio e aguardar 
a disponibilidade de um atendente para realizar seu pedido. 
Muitas vezes, a quantidade de clientes é tão grande que os 
pedidos acabam demorando muito. 
O proprietário solicitou que, além do desenvolvimento do apli-
cativo para tablets (fixos no estabelecimento), o cliente pudes-
se ter, em seu celular, uma versão do app para realizar de pe-
didos e também visualizar o cardápio on-line. Os usuários, em 
sua maioria, possuem iPhone ou aparelhos com Android. 
Com base nesse cenário, que tipo de aplicativo você desenvol-
veria (Aplicativo Nativo ou Aplicativo Híbrido)? Qual linguagem 
de programação e IDE de desenvolvimento você adotaria?
VERIFICAÇÃO DE LEITURA
TEMA 04
1. Aplicativos móveis são softwares escritos para dispositivos 
móveis, que desempenham objetivos específicos. Assinale 
a alternativa que apresente, corretamente, as duas formas 
de desenvolver aplicativos para dispositivos móveis: 
a) Aplicativo Proprietário e Aplicativo Livre.
b) Aplicativo Nativo e Aplicativo Híbrido.
60 Aplicações Móveis
c) Aplicativo Nativo e Aplicação Open-source.
d) Aplicativo Híbrido e Aplicativo Livre.
e) Aplicativo Híbrido e Aplicativo Open-source.
2. Para desenvolver

Continue navegando