Buscar

10 - Funcionalidades nativas

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

DESENVOLVIMENTO 
PARA DISPOSITIVOS 
MÓVEIS
Olimar Teixeira Borges
Funcionalidades nativas
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
 � Analisar as funcionalidades nativas do dispositivo móvel.
 � Descrever o uso das funcionalidades nativas do dispositivo móvel.
 � Utilizar as funcionalidades nativas do dispositivo móvel.
Introdução
Com a atual e constante evolução tecnológica, a cada lançamento de 
um dispositivo móvel, são apresentados novos tipos de sensores e fun-
cionalidades, iniciando os desafios em desenvolver aplicações que usem 
essas tecnologias. Algumas funcionalidades se mantêm há algum tempo e 
possuem um suporte maior no seu uso, por exemplo, o Global Positioning 
System (GPS), sensor de movimento, câmera, microfone, acelerômetro 
e giroscópio. Já as atuais ainda não têm tanto suporte, como o leitor 
biométrico. Independentemente disso, os dispositivos móveis se desta-
cam, intuitivamente, pela sua característica de mobilidade, composta de 
portabilidade, usabilidade, conectividade e funcionalidade.
Neste capítulo, você estudará as funcionalidades nativas de um dis-
positivo móvel, as diferenças entre as aplicações genéricas, nativas e 
híbridas, bem como o uso dessas funcionalidades em cada ambiente 
de desenvolvimento.
Funcionalidades nativas
Em relação às funcionalidades, pode-se afirmar que elas são as tarefas que um 
dispositivo realiza por meio das aplicações móveis que executa. No entanto, de 
acordo com Lee, Schneider e Schell (2005), esse tipo de aplicação tem uma com-
plexidade um pouco maior, devido às suas características, observe-as a seguir. 
 � Necessidade de execução em tempo real.
 � Memória limitada do dispositivo.
 � Canais de entrada e saída limitados.
 � Forte relação de dependência de hardware e diferentes processadores.
Inicialmente, estas aplicações eram desenvolvidas de forma específica para 
sua plataforma, usando todo o ambiente de desenvolvimento. Por exemplo, 
a fim de desenvolver uma aplicação para iPhone Operating System (iOS), 
utiliza-se a linguagem de programação Objective-C ou Swift com a integrated 
development environment (IDE) Xcode e o software development kit (SDK) 
do iOS (HEITKÖTTER; HANSCHKE; MAJCHRZAK, 2012). Se for para 
Android, emprega-se a linguagem Java específica para ele, com a IDE Android 
Studio e o SDK do Java.
Segundo Prezotto e Boniati (2014), o desenvolvimento específico para 
cada plataforma se chama desenvolvimento nativo, no qual a aplicação é 
projetada e construída especificamente para determinada plataforma. Nessa 
abordagem, toda funcionalidade dessa plataforma fica à disposição, sem 
restrições, e implementa padrões de interface gráfica e de experiência com o 
usuário, que o auxiliam a entender como o aplicativo funciona, pois os demais 
aplicativos da plataforma seguem os mesmos padrões (CORRAL; JANES; 
REMENCIUS, 2012).
A maioria das funcionalidades nativas dos dispositivos é incorporada em 
sensores e outros hardwares do próprio aparelho. Cada fabricante de dispositivo 
móvel pode criar uma funcionalidade por meio de um sensor, sendo o leitor 
biométrico um dos mais atuais. Alguns fabricantes utilizam a própria tela 
como leitor, já outros possuem um leitor biométrico específico, geralmente 
na traseira do dispositivo.
Para que seja possível manipular os sensores dos dispositivos, cada pla-
taforma (como Android ou iOS) disponibiliza um conjunto de bibliotecas 
especialistas para o uso deles, que têm acesso nativo ao hardware e a todos 
os recursos desse dispositivo (acelerômetro, giroscópio, GPS, câmera, etc.).
Além do desenvolvimento nativo, há o desenvolvimento híbrido, que pode 
ser descrito como uma mistura do desenvolvimento nativo, utilizando os 
recursos mais complexos de hardware, com o desenvolvimento Web, usando 
Hypertext Markup Language versão 5 (HTML5), Cascading Style Sheets 
(CSS) e JavaScript.
A aplicação híbrida é desenvolvida para funcionar em múltiplas plataformas, 
precisa utilizar apenas uma linguagem de programação (como Java ou uma 
combinação de HTML5 e JavaScript) e, após a aplicação, pode ser compilada 
para ser executada em cada plataforma (p. ex., iOS e Android). Devido ao não 
Funcionalidades nativas2
acesso direto às funcionalidades nativas do dispositivo, algumas das interações 
mais específicas serão, por padrão, controladas pelo auxílio de plugins e/ou 
ferramentas desenvolvidas para determinado sistema operacional.
Não existe somente uma forma correta de desenvolver uma aplicação móvel, cada 
abordagem pode servir para um propósito e uma necessidade. Os aplicativos mais 
complexos, que precisam utilizar vários recursos de hardware do dispositivo, são 
mais indicados para serem desenvolvidos de maneira nativa, pois proporcionam 
uma melhor experiência ao usuário. Porém, caso seja uma aplicação mais simples, 
sem uma demanda de uso do hardware excessiva, o desenvolvimento híbrido já 
será suficiente.
Sensores dos dispositivos móveis
Na abordagem de desenvolvimento nativa, existe a possibilidade de utilizar, de 
forma menos complexa, os vários tipos de sensores disponíveis nos dispositivos 
móveis. No entanto, ao criar uma aplicação móvel, é necessário entender que 
há diversos desafios, como saber lidar com recursos físicos limitados, por 
exemplo, memória, uso de Graphics Processing Unit (GPU), bateria, tela, 
entre outros.
Em relação ao uso das funcionalidades nativas dos dispositivos móveis, 
pode-se descrever seus principais sensores, como o acelerômetro, o giroscópio, 
o magnetômetro, o GPS e a câmera.
Acelerômetro
O acelerômetro é responsável por indicar a aceleração, sendo composto de 
muitos outros sensores, entre os quais, constituem estruturas microscópicas 
de cristal que se estressam devido às forças da aceleração. Por isso, o sensor 
de acelerômetro interpreta a tensão dos cristais e consegue descobrir quão 
rápido o dispositivo está se movimentando e para qual direção está apontando.
Na Figura 1, você pode ver que o acelerômetro é responsável por controlar 
a detecção de movimento de acordo com os eixos X, Y, Z, muito utilizados em 
aplicações de monitoramento físico ( fitness) e, por meio deles, registra-se os 
3Funcionalidades nativas
passos dados, mesmo sem o uso do wearable. Ele também é bastante impor-
tante para aplicativos de realidade aumentada, por informar para qual direção 
o dispositivo está apontando; faz a troca dos modos paisagem e retrato; bem 
como exibe a velocidade atual em um aplicativo que utilize mapas.
Figura 1. Acelerômetro utiliza os eixos X, Y, Z do dispositivo.
Fonte: Teske (2015, documento on-line).
Giroscópio
O giroscópio auxilia o sensor de acelerômetro a entender de que forma o 
celular está orientado e a melhorar sua precisão. Por exemplo, em um jogo de 
corrida, quando a tela do dispositivo sofre alguma inclinação, é o giroscópio 
que detecta esse movimento, e não o acelerômetro, pois o aparelho não está 
se movendo.
O uso do giroscópio não é limitado somente aos dispositivos móveis, como 
também às aeronaves para determinar a altitude e a posição ou às câmeras 
para manter a estabilização enquanto estão em movimento. Diferentemente 
da utilização de rodas e suspensões nos dispositivos mecânicos tradicionais 
Funcionalidades nativas4
encontrados em um avião antigo, por exemplo, os giroscópios usados em 
dispositivos móveis são chamados de Sistemas Micro-Electro-Mecânicos 
(MEMS) e embutidos em uma placa eletrônica para que caibam nesses apa-
relhos, conforme você pode observar na Figura 2.
Figura 2. Ilustração do giroscópio mecânico, em que foram baseados os 
Micro-Electro-Mecânicos.
Fonte: Fouad A. Saad/Shutterstock.com.
Magnetômetro
O magnetômetro auxilia o acelerômetro a identificar a localização do disposi-
tivo móvel no espaço físico e é responsável por medir os campos magnéticos, 
identificando para qual lado está o norte, ao diferenciar sua tensão de saída 
para o aparelho. Ele ainda permite que os aplicativos de bússola funcionem,conforme você pode ver na ilustração da Figura 3.
5Funcionalidades nativas
Além de dispositivos móveis, o magnetômetro pode ser encontrado em 
detectores de metal, devido à sua capacidade de detecção de metais mag-
néticos, bem como em algumas aplicações móveis com esse intuito. Seu 
principal propósito é no uso de aplicações móveis que utilizem mapas, mas 
ele não funciona de forma tão eficiente como deveria, sendo necessário operar 
juntamente às informações geradas pelo acelerômetro e GPS, possibilitando, 
por exemplo, criar as rotas de navegação detalhadas — somente assim ele 
consegue identificar onde o dispositivo se localiza no mundo e para qual 
direção está apontando.
Figura 3. Ilustração do magnetômetro em utilização por um dispositivo móvel.
Fonte: pumkinpie/Alamy Stock Photo.
Funcionalidades nativas6
Global Positioning System
As unidades de GPS localizadas dentro dos dispositivos móveis são respon-
sáveis por descobrir sua posição no planeta, por meio do sinal recebido dos 
satélites situados no espaço. Elas não precisam da utilização de dados móveis, 
podendo identificar essa posição sem a conexão de dados. Sua conexão ocorre 
com múltiplos satélites para fazer o cálculo do local onde o aparelho está, 
baseado nos ângulos das intersecções. Contudo, elas podem não funcionar 
em locais subterrâneos ou quando o tempo estiver muito nublado, além disso, 
manter sua funcionalidade ativada no dispositivo drena bastante a bateria. Na 
Figura 4, você pode ver como os aplicativos geralmente apresentam um mapa 
com o uso do GPS.
A distância entre as torres de celulares em relação ao dispositivo móvel 
também pode identificar a posição do aparelho no planeta, não tão efetiva-
mente quanto o GPS, mas de forma aproximada. Muitas aplicações utilizam 
essas duas tecnologias juntas (GPS e distância das torres de celulares) para 
conseguirem informar leituras de localização mais precisas.
Figura 4. Ilustração de uma visualização por aplicativo que utiliza o GPS do dispositivo.
Fonte: Vadim Georgiev/Shutterstock.com.
7Funcionalidades nativas
Câmera
A câmera do dispositivo móvel foi uma das primeiras funcionalidades inseridas 
em um smartphone, sendo que, inicialmente, ela era um mero acessório extra, 
com qualidade muito inferior às câmeras digitais. Porém, ela se tornou um 
item obrigatório e avançado, que rapidamente agradou à população.
Com o decorrer do tempo, os fabricantes de dispositivos móveis come-
çaram a lançar softwares de apoio às câmeras, que possibilitavam tirar fotos 
panorâmicas e habilitavam outros modos, como o Photo Sphere do Google.
Atualmente, a câmera no dispositivo móvel é um recurso indispensável, que 
possibilita o uso de diversos softwares de apoio, bem como tira fotografias e 
filma em uma resolução incrível. Em geral, os dispositivos contêm duas câmeras, 
uma frontal e outra traseira. Elas são componentes muito pequenos (Figura 5), 
fazem a leitura de Quick Response (QR) Code ou código de barras e dão zoom 
nas fotografias e filmagens. Alguns fabricantes já trabalham com inteligência 
artificial nas câmeras, que se ajustam de acordo com o ambiente, a quantidade de 
pessoas na foto, o filtro automático, a luminosidade, entre outras características.
Figura 5. Exemplo de um componente de câmera traseira em um dispositivo móvel.
Fonte: Câmera... ([201-?], documento on-line).
Funcionalidades nativas8
Outros sensores
Ainda existem diversos outros sensores possíveis de serem utilizados por 
aplicações móveis nativas. Alguns dispositivos, por exemplo, possuem barô-
metro, que mede a pressão do ar e possibilita identificar alterações no clima 
e na altitude.
Há, também, o sensor de proximidade, que, em geral, se localiza perto do 
alto-falante superior e permite desligar a tela quando o dispositivo é colocado 
perto da orelha, por exemplo. Já o sensor de luz do ambiente consegue iden-
tificar a luminosidade do local e mudar o brilho da tela de acordo com cada 
lugar, ajudando consideravelmente na economia da bateria.
Funcionalidades nativas em ambientes híbridos
Quando se trata de tecnologias, ferramentas e/ou plugins necessários para o 
desenvolvimento de aplicações híbridas, inicialmente, você precisa conhecer e 
definir o ambiente de desenvolvimento. Como os ambientes híbridos não têm 
acesso direto às funcionalidades nativas do dispositivo, algumas ferramentas, 
frameworks e/ou plugins são necessários para que seja possível utilizá-las.
Acesso às funcionalidades nativas
Existem ferramentas que permitem o acesso nativo às funcionalidades do 
dispositivo móvel, como Cordova e Titanium. Criado em 2008 pela empresa 
AppCelerator, o Titanium é um SDK de código aberto e, logo no início de 
sua criação, era voltado ao desenvolvimento das aplicações desktop mul-
tiplataformas, utilizando HTML5, CSS e linguagem JavaScript. Depois, a 
empresa lançou o Titanium Mobile para aumentar as suas possibilidades de 
desenvolvimento. Para auxiliar no uso do SDK, ela criou uma IDE chamada 
de Titanium Studio, que possuía dois tipos de planos, um gratuito e de uso 
individual e outro pago e empresarial. Porém, em 2015, a empresa apresentou 
uma mudança, e o plano gratuito foi eliminado, mantendo apenas a versão 
paga (TITANIUM..., 2017).
Já o Apache Cordova é outra opção para acessar as funcionalidades nati-
vas de um dispositivo e que será mais bem explorada neste capítulo por ser 
gratuita. Trata-se do framework de desenvolvimento móvel de código aberto, 
que possibilita o uso de tecnologias Web padrão, como HTML5, CSS3 e 
JavaScript, para o desenvolvimento multiplataforma. Suas aplicações são 
9Funcionalidades nativas
executadas como se fossem pacotes direcionados a cada plataforma e, por meio 
de plugins, torna-se possível acessar os recursos disponíveis nos dispositivos, 
como o GPS, a câmera, o sistema de arquivos, etc.
A grande vantagem em utilizar o Cordova é o pacote de plugins que ele 
fornece, pois, além dos oferecidos pelo próprio framework, há outros de ter-
ceiros que são compatíveis com a plataforma e a possibilidade de criar plugins 
específicos e próprios para integrar à aplicação (OVERVIEW, 2019). Na 
Figura 6, você pode observar um diagrama da visão geral de alto nível da 
arquitetura de um aplicativo Cordova.
Figura 6. Diagrama da visão geral de alto nível da arquitetura do aplicativo Cordova.
Fonte: Overview (2019, documento on-line).
Segundo Overview (2019), existem vários componentes em um aplicativo 
Cordova:
Funcionalidades nativas10
 � O Web App seria o local em que fica a aplicação e o código. Ele 
funciona como uma página Web, geralmente armazenado em um 
arquivo chamado index.html, no qual ficam as referências ao CSS, 
ao código JavaScript, aos arquivos de mídia, às imagens e aos outros 
recursos necessários para a execução da aplicação. Nesse quadrante, 
também está o arquivo config.xml, responsável por fornecer infor-
mações sobre a aplicação, com alguns parâmetros de como ela deve 
funcionar, como o comportamento diante das ações de mudança de 
orientação.
 � O WebView é responsável por fornecer à aplicação toda a interface 
do usuário.
 � O Cordova Plugins fornece uma interface para que o Cordova e os 
demais componentes nativos consigam se comunicar entre si e per-
mite a vinculação com as Application Programming Interface (API) 
do dispositivo. Existe um conjunto de plugins padrões básicos, cha-
mado de Core Plugins, que oferece ao aplicativo a possibilidade 
de acessar os recursos do aparelho, como o acelerômetro, o GPS, 
a bateria, a câmera, os contatos, etc. Há, também, a utilização de 
plugins customizados, criados por terceiros, que fornecem funções 
adicionais aos recursos, mas que podem não estar disponíveis para 
todas as plataformas.
Ao criar o projeto Cordova, lembre-se que ele não contém plugins ins-
talados por padrão, e até mesmo os principais devem ser explicitamente 
adicionados.
É possível desenvolver plugins próprios para a aplicação utilizando o Cordova. Para isso, 
acesse o guia de desenvolvimento deplugins, disponível no link a seguir.
https://qrgo.page.link/eJosc
11Funcionalidades nativas
CÂMERA Traseira Moto G4 Play XT1600. Zapcell, Belo Horizonte, [201-?]. Disponível em: 
https://zapcell.com.br/index.php?route=product/product&product_id=163. Acesso 
em: 5 jul. 2019.
CORRAL, L.; JANES, A.; REMENCIUS, T. Potential advantages and disadvantages of mul-
tiplatform development frameworks — A vision on mobile environments. Procedia 
Computer Science, [S. l.], v. 10, p. 1202-1207, 2012.
HEITKÖTTER, H.; HANSCHKE, S.; MAJCHRZAK, T. A. Evaluating cross-platform develop-
ment approaches for mobile applications. In: INTERNATIONAL CONFERENCE ON WEB 
INFORMATION SYSTEMS AND TECHNOLOGIES, 8., 2012, Porto. Proceedings [...]. Porto: 
Webist, 2012. p. 120–138. Disponível em: https://www3.nd.edu/~cpoellab/teaching/
cse40814/crossplatform.pdf. Acesso em: 5 jul. 2019.
LEE, V.; SCHNEIDER, H.; SCHELL, R. Aplicações móveis: arquitetura, projeto e desenvolvi-
mento. São Paulo: Pearson; Makron Books, 2005. 328 p.
OVERVIEW. Apache Software Foundation, Wakefield, 2019. Disponível em: https://cor-
dova.apache.org/docs/en/latest/guide/overview/index.html. Acesso em: 5 jul. 2019.
PREZOTTO, E. D.; BONIATI, B. B. Estudo de frameworks multiplataforma para desen-
volvimento de aplicações mobile híbridas. Anais do EATI, Frederico Westphalen, v. 4, 
n. 1, p. 72–79, nov. 2014. Disponível em: http://www.eati.info/eati/2014/assets/anais/
artigo8.pdf. Acesso em: 5 jul. 2019.
TESKE, L. Drones no Mundo Open Source. In: CONFERENCIA LATINO-AMERICANA DE 
SOFTWARE LIVRE, 12., 2015, Foz do Iguaçu. Anais [...]. Foz do Iguaçu: Parque Tecnológico 
Itaipu, 2015. Disponível em: https://www.teske.net.br/lucas/palestras/latinoware2015/#/
step-9. Acesso em: 5 jul. 2019.
TITANIUM Mobile Development Environment. Appcelerator, Santa Clara, 2017. Disponível 
em: https://www.appcelerator.com/Titanium/. Acesso em: 5 jul. 2019.
Leituras recomendadas
APACHE Cordova. Mobile apps with HTML, CSS & JS — Target multiple platforms with 
one code base — Free and open source. Apache Software Foundation, Wakefield, 2019. 
Disponível em: https://cordova.apache.org/. Acesso em: 5 jul. 2019.
#APLICAÇÃO Cordova/Ionic - Conceitos Envolvidos. [S. l.: S. n.], 2016. 1 vídeo (9 min 
4 s). Publicado pelo canal Pet Sistemas UFMS. Disponível em: https://www.youtube.
com/watch?v=2R9oXqPYszA. Acesso em: 5 jul. 2019.
CAPACITOR: Universal Web Applications. Ionic Framework — Drifty Co., Madison, 2019. 
Disponível em: https://capacitor.ionicframework.com/. Acesso em: 5 jul. 2019.
IONIC Native Community Edition: a collection of open source Cordova plugins that 
make it easy to add native functionality to any Ionic app. Ionic Framework — Drifty Co., 
Madison, 2019. Disponível em: https://ionicframework.com/docs/native/overview. 
Acesso em: 5 jul. 2019.
Funcionalidades nativas12

Continue navegando