Sei sulla pagina 1di 4

II Workshop de Iniciacao Cientca em Sistemas de Informacao, Goiania - GO, 26 a 29 de Maio de 2015.

Desenvolvimento de Aplicaes para Dispositivos Mveis:


Tipos e Exemplo de Aplicao na plataforma iOS
Alternative Title: Application Development for Mobile Devices:
Types and Application Example on the iOS platform
Leandro Luquetti B. da Silva Daniel Facciolo Pires Silvio Carvalho Neto
Centro Universitrio Municipal de Centro Universitrio Municipal de Centro Universitrio Municipal de
Franca Uni-FACEF Franca Uni-FACEF Franca Uni-FACEF
Av. Dr. Alonso y Alonso, 2400 Av. Dr. Alonso y Alonso, 2400 Av. Dr. Alonso y Alonso, 2400
Bairro So Jos, Franca-SP Bairro So Jos, Franca-SP Bairro So Jos, Franca-SP
55 16 3713 4688 55 16 3713 4649 55 16 3713 4619
leandroluquetti@gmail.com dfpires@gmail.com silviocarvalhoneto@gmail.com

RESUMO pervasivo. De acordo com os dados da pesquisa do instituto


Este artigo apresenta uma comparao entre os tipos de Ipsos[1], possvel observar que 40% dos brasileiros utilizam o
desenvolvimento de aplicaes mveis e descreve conceitos sobre smartphone ao menos todo dia, 27% preferem ficar sem televiso
o sistema operacional e a arquitetura iOS. Tem ainda como que o smartphone, e 73% dos usurios da mobilidade no saem de
objetivo, apresentar ferramentas de desenvolvimento para casa sem seu dispositivo. O mercado de desenvolvimento de
aplicativos em dispositivos mveis, com foco na tecnologia iOS, aplicativos mveis est em alta e a demanda por bons
discutindo exemplos para ilustrar diferenas entre as aplicaes. O profissionais aumenta a cada dia [2]. Diversas empresas querem
presente estudo relevante na medida em que crucial para o ter seus servios e informaes disponveis e para isto necessitam
desenvolvedor iniciante conhecer as diferentes formas de se de desenvolvedores [3]. Toda a demanda por informao,
construir aplicativos e solues mobile. agilidade e disponibilidade em diversos dispositivos mveis,
possibilita diversas formas de criar e desenvolver aplicativos para
Palavras-Chave dispositivos portteis. Este trabalho tem o objetivo de apresentar
Desenvolvimento de Aplicativos mveis, iOS, Aplicativos uma comparao entre tipos de desenvolvimento de aplicaes
Hbridos, Web e Nativos. para dispositivos mveis, com o propsito de auxiliar na escolha
da forma de desenvolver uma aplicao. O intuito trazer
apontamentos sobre o uso desses aplicativos para dispositivos
ABSTRACT mveis tendo como foco a plataforma iOS, sistema operacional de
This paper compares types of mobile application development and cdigo fechado, desenvolvido e controlado pela Apple, uma das
describes concepts about mobile operating system and the iOS empresas lderes neste mercado. A deciso de focar na plataforma
architecture. The objective is to present development tools for iOS vem por meio de sua lucratividade e escalabilidade, pois o
applications on mobile devices, with focus on iOS technology, iOS da Apple se destaca como uma das principais plataformas de
discussing examples to illustrate differences between applications. desenvolvimento mvel do mercado, uma vez que possui uma
This study is relevant because it is crucial for the beginner srie de recursos que permitem criar aplicativos diferenciados que
developer to know the different ways to build mobile applications proporcionam uma tima experincia ao usurio final [3].
and solutions.
Categories and Subject Descriptors: 2. MTODO DE PESQUISA
C.5.3 [Computer System Implementation]: Microcomputers---
Este estudo tem como mtodo a pesquisa bibliogrfica, por meio
Portable devices
de reviso literria, juntamente a atividade prtica, em torno das
General Terms: fases do projeto para a elaborao de aplicativos mveis. Foram
Design, Languages utilizados como base de dados livros, artigos cientficos e sites na
rea de tecnologia e informao como fonte de publicaes
Keywords eletrnicas. As palavras-chave utilizadas para a busca foram:
Development, iOS mobile Applications, Hybrid Applications, Desenvolvimento, iOS, Aplicativos mveis, Aplicativos Hbridos,
Web Applications, Native Applications Aplicativos WEB, Aplicativos Nativos. Os critrios de incluso
foram artigos publicados a partir do ano de 2011, com texto
1. INTRODUO completo disponvel, em ingls e portugus, e os de excluso
Atualmente, o uso de aplicativos em dispositivos mveis foram artigos anteriores ao ano 2011, com texto incompleto.

Permission to make digital or hard copies of all or part of this work for 3. FUNDAMENTAO TERICA
personal or classroom use is granted without fee provided that copies are
Os aplicativos mveis (Apps) so produtos projetados e
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy desenvolvidos para serem executados especificamente em
otherwise, or republish, to post on servers or to redistribute to lists, dispositivos eletrnicos mveis, tendo como comuns os PDAs
requires prior specific permission and/or a fee. tambm conhecidos como Palmtops, Tablets, leitores de mp3,
SBSI 2015, May 2629, 2015, Goinia, Gois, Brazil. telefones celulares, e Smartphones mais modernos e com larga
Copyright SBC 2015.

25
II Workshop de Iniciacao Cientca em Sistemas de Informacao, Goiania - GO, 26 a 29 de Maio de 2015.

capacidade de armazenamento e processamento [4]. Um como localizao, iCloud, mdia social e acesso rede [11]. A
aplicativo mvel pode ser baixado diretamente do aparelho camada Media contm os grficos, ncleo de animao, leitor de
eletrnico, desde que o dispositivo possua conexo com a PDF OpenGL ES e OpenAL, udio e tecnologias de vdeo para
Internet. A gama de fornecedores que disponibilizam aplicativos implementar experincias de multimdia. A tecnologia nessa
para download atravs de lojas virtuais como a Apple Store - loja camada facilita a construo de aplicativos [11]. Cocoa Touch a
virtual da Apple, Play store loja virtual do Google para o camada responsvel por eventos Multi-Touch e controles,
sistema operacional Android, Windows Phone Store loja virtual notificaes, cmera, alerta e sistema de localizao, camada
da Microsoft para Windows Phone (entre outras diversas lojas basicamente responsvel pelas interaes do usurio com sistema
para seus respectivos sistemas operacionais), enorme e [11]. Os aplicativos desenvolvidos para o iOS raramente se
possvel encontrar todo tipo e gnero de aplicao. O nmero de comunicam diretamente com o hardware do dispositivo, ao invs
download destas aplicaes est em expanso em ritmo muito disso, os aplicativos se comunicam com o hardware atravs de um
forte. Chegam a ser publicados em mdia trinta mil aplicativos conjunto de interfaces de sistema bem definidas que protegem seu
novos por ms na loja virtual da Apple. aplicativo de alterao de hardware.
O mercado de dispositivos mveis ramificado por diferentes
fabricantes, o que inclui uma gama de plataformas de
desenvolvimento, sistemas operacionais mveis, software e
hardware. A existncia de mltiplas plataformas cria uma grande
variedade de aplicativos, cada um codificado para ser executado
sob sua arquitetura especfica, o que segundo Martins et al. [5]
atualmente um dos principais desafios da computao mvel. Em
resumo, isto significa que um aplicativo desenvolvido para Iphone
da Apple no funcionar nos sistemas operacionais da Black Berry
e Android, assim como tambm no funcionar no Windows
Figura 1: Camadas do IOS
Phone, ou seja, para cada sistema operacional, deve haver uma Fonte: adaptado Ferreira [11]
nova aplicao. Em outro ponto, o grande fluxo de
desenvolvimento causa um abandono na questo segurana da 4. RESULTADOS
aplicao. Segundo Moraes [6], com as necessidades crescentes Na construo de uma aplicao para dispositivo mvel, a escolha
por mobilidade e o surgimento de solues mveis de negcio ou do tipo do aplicativo um ponto muito importante no processo de
a unio entre os sistemas existentes, cada vez mais difcil manter desenvolvimento do projeto [5]. Ao iniciar o projeto necessrio
a segurana das informaes. Empresas como Apple e Google realizar uma anlise minuciosa e estratgica sobre a plataforma,
tentam criar aes para minimizar os trabalhos e processos dos sistemas, produtos e arquiteturas a serem utilizadas. Os principais
desenvolvedores. No sistema operacional iOS, desde sua verso 5 tipos de aplicativos mveis a serem considerados no incio de um
usa-se criptografia de hardware. A criptografia de hardware faz projeto so: aplicativos Web Apps (sites mveis), aplicativos
uso do algoritmo AES256 (Advanced Encryption Standard) e mveis nativos e aplicativos hbridos, que consistem
garante uma proteo efetiva dos dados armazenados fisicamente respectivamente em solues feitas para Web formatadas para
no dispositivo. J no ambiente Android, desde sua verso 2.3, serem acessadas atravs do browser dos dispositivos mveis,
chamada de Gingerbread o uso de criptografia opcional, solues que so desenvolvidas para um delimitado dispositivo
cabendo ao usurio ativ-la quando assim o desejar. mvel e sistema operacional e aplicaes desenvolvidas com a
A Trend Micro, empresa de segurana digital, realizou duas juno do nativo e Web.
pesquisas em que escutaram 709 profissionais de TI, uma revela 4.1. Nativa com foco no iOS
que 62% das empresas no esto aptas a proporcionar segurana Aplicativos nativos so aplicaes comumente encontradas em
nos dispositivos. Outro estudo aponta que 78% das empresas lojas de aplicativos. So normalmente desenvolvidas utilizando
veem o mau uso da tecnologia por parte dos usurios, seja linguagens de programao de nvel superior, como o Java para o
acidental ou proposital, como o maior perigo para a segurana da Android, Objective-C para iOS, ou C# para Windows Phone. As
empresa [7]. O sistema operacional as Apple iOS roda em APIs nativas so fornecidas para o desenvolvedor como parte do
dispositivos sensveis ao toque em aparelhos como iPad, iPhone e SDK da plataforma. As APIs da plataforma so normalmente
iPod, no operacional em hardware de terceiros. O iOS gerencia o concebidas para fornecer aplicativos nativos de acesso ideal para
hardware do dispositivo e fornece as tecnologias necessrias para as capacidades de hardware, como a cmera do dispositivo e
programar aplicativos nativos [8]. A arquitetura do iOS formada emparelhamento de Bluetooth. Alm disso, os usurios podem ser
por quatro camadas, Cocoa Touch, Media, Core Service e Core capazes de usar esses aplicativos sem uma conexo com a Internet
OS [9]. Cada uma delas oferece um conjunto de frameworks que [12]. Execuo nativa consiste essencialmente em um aplicativo
podem ser utilizados durante o desenvolvimento. A camada desenvolvido para um dispositivo mvel especifico e instalado
Cocoa Touch a de mais alto nvel e a Core OS a de mais baixo diretamente sobre o prprio dispositivo com interpretao direta
nvel (Figura 1). A camada Core OS (ncleo do sistema pelo sistema operacional. O pacote de desenvolvimento de
operacional) responsvel pela gesto de energia, controle de software para iOS (SDK) contm as ferramentas e interfaces
segurana, certificados e sistema de arquivo, e faz a comunicao necessrias para desenvolver, instalar, executar e testar aplicativos
com os acessrios de hardware externo [10]. nativos. O Xcode responsvel pelo ambiente de
Na camada de servios oferecidos pelo sistema (Core Services) desenvolvimento integrado da Apple (IDE). O Xcode inclui um
so disponveis os acessos como o banco de dados SQLite, editor de cdigo, um de interface grfica do usurio, e muitos
manipulao de arquivos, preferncias, livros de endereo e rede. outros recursos. O iOS SDK contido no Xcode inclui as
Tambm contm tecnologias individuais para suportar recursos ferramentas, os compiladores e as estruturas necessrias

26
II Workshop de Iniciacao Cientca em Sistemas de Informacao, Goiania - GO, 26 a 29 de Maio de 2015.

especificamente para o desenvolvimento iOS. Aplicativos nativos 4.4 Exemplo de Aplicao


em iOS so construdos usando a estrutura de sistema na Como exemplo de aplicao mvel (e seus tipos), nesta seo
linguagem Objective-C [10]. A linguagem nativa executada apresentado um projeto que consiste em um exemplo bsico de
diretamente no sistema operacional. Ao contrrio de aplicaes visualizao baseado nos conceitos de experincia de usurio e
Web, aplicativos nativos so fisicamente instalados em um consumo de servio online atrs de APIs.
dispositivo e, portanto, so sempre disponveis para o usurio. A
linguagem de programao recomendada pela Apple na Quadro 1: Tipos de Aplicativos Mveis
plataforma iOS o Objective-C, havendo possibilidade de PrincipaisVantagens PrincipaisDesvantagens
utilizao da linguagem C e C++. Por ser uma linguagem Executadospelobrowser, Poucaouquasenenhumaintegrao
especifica da Apple, o principal recurso de pesquisa da linguagem proporcionandoousoemoutras comohardwaredodispositivoem

WebApps
a prpria documentao disponibilizada pela Apple, e de acordo plataformas;Atualizaoe queestsendoexecutado;Mais
com Morandi [13], os contedos so completos, o suficiente para distribuiorpidaeabrangente,no lentos,dependendodaconexocoma
precisamserbaixadosouatualizados; Internet;Interaoentreousurioeo
entender e desenvolver projetos nessa linguagem. Acessorpidoefcil,osusuriostm aplicativomenosricaem
acessoimediatopeloSmartphone. funcionalidades.
4.2. WEB APP
No desenvolvimento para dispositivos mveis possvel utilizar Interaoentreousurioeo Umanovaaplicaoescritaparacada
aplicaes Web com o mesmo objetivo de uma aplicao nativa, aplicativomaisricaem plataformadiferente

Nativo
porm com limitaes de recursos. O Web App refere-se a funcionalidadeserecursos; Distribuioeatualizao
Velocidadenaexecuo. dependentesdelojasonline;(Apple
aplicativos baseados em navegador criados para dispositivos
IndependentedaInternet. Store,Googleplay).
mveis, como smartphones ou tablets, que podem ser conectados
sem fio. Web App basicamente uma aplicao em marcao Compartilhamentodeboapartedo Performance.
HTML e CSS, podendo ser programado em JavaScript [14], ou cdigoentreplataformas; Limitaodedesign.
Hbrido
Possibilidadedousoderecursosda
seja, so sites projetados para telefones mveis baseados na Web.
plataformacomcdigonativo;Pode
Eles geralmente so parecidos em todas as plataformas e no serdistribudolojasonline;(Apple
aproveitam os recursos da plataforma para personalizar a Store,Googleplay)
experincia do usurio [12]. Este modelo recomendado para Interoperabilidade.
projetos cujo custo e tempo sejam reduzidos e a necessidade de Fonte: Elaborados pelos Autores
vrias plataformas seja um requisito essencial. Por ser uma
aplicao interpretada pelo navegador do dispositivo, a mesma O servio de consulta utilizado neste projeto fornecido pela
passa a ser visualizada em sistemas operacionais diferentes, Google. O Google Maps possui uma API difundida no mercado,
tornando assim as aplicaes Web Apps quelas com o menor que utilizada para consultas de geolocalizao assim como
tempo de projeto. A capacidade de atualizar e manter aplicaes outros dados disponveis em seu sistema [15]. O consumo deste
Web sem distribuio e instalao de software, em potencialmente servio baseado no modelo REST, modelo de transferncia de
milhares de dispositivos, uma das principais razes para a sua estado representacional que um padro de estilo de arquitetura
popularidade, e a compatibilidade dos navegadores entre ou desenho utilizado como um conjunto de diretrizes para a
plataformas torna a aplicao Web mais pratica e dinmica. Uma criao de servios Web, e que permitem que qualquer coisa
desvantagem dessa abordagem que o download desses ativos ligada a uma rede se comunique com outros dispositivos atravs
como a biblioteca Jquery Mobile para o dispositivo pode no s de um ponto comum compartilhado no protocolo de
aumentar o custo associado com o uso de dados, mas tambm comunicaes HTTP (Hypertext Transfer Protocol). No projeto
afetar a experincia do usurio devido a latncia das redes [12]. alm do servio na Web do Google, tambm foram utilizadas
bibliotecas e frameworks, descritas no Quadro 2.
4.3. APP HIBRIDO
A criao de aplicativos para cada dispositivo como iPhone, Quadro 2: Tipos de aplicao e tecnologias utilizadas
Android, Windows Mobile, etc. requer diferentes frameworks e Tipode
Linguagem,Bibliotecas,Framework,SDK,IDE.
linguagens. A aplicao hbrida resolve esta questo usando Aplicao
WEB HTML5,JQUERY,CSS3,JAVASCRIPT,JSON,NOTEPAD++.
tecnologias Web baseadas em padres nativos. Aplicaes
NATIVA OBJECTIVEC,JSON,XCODE,IOSSIMULATOR.
"hbridas" consistem em uma categoria especial de aplicaes web HBRIDA OBJECTIVEC,XCODE,IOSSIMULATOR,CORDOVA,HTML5,
que ampliam o ambiente do aplicativo baseado na Web atravs da JQUERY,CSS3,JAVASCRIPT,JSON.
utilizao de APIs nativas da plataforma disponvel em um
determinado dispositivo. O padro de projeto aplicao hbrida Estas aplicaes foram executadas em um simulador de sistema
igualmente aplicvel a ambos os ambientes mveis e de desktop operacional iOS conhecido como iOS Simulator. Nos casos de
[12]. Assim como aplicativos nativos, a aplicao hbrida aplicao nativa e aplicao hbrida houve a necessidade de
executada dentro de um ambiente de processo nativo no compilar a aplicao para iOS utilizando o Xcode, j a aplicao
dispositivo. Esses aplicativos tipicamente envolvem o contedo Web apenas tornou-se disponvel em uma pgina da Internet. Na
HTML dentro de um controle de navegador em modo de tela Figura 2 possvel perceber uma aparncia muito semelhante
cheia, sem a barra de endereos visvel ou outros controles principalmente nos tipos Web e Hbrido (2a e 2b), pois possuem a
embutidos do navegador. Aplicativos hbridos usam uma camada mesma interface, j que somente a aplicao Web exibe a barra de
web-para-nativa abstrao (tambm conhecida como camada de endereo e de navegao do navegador Safari. Na Figura 2c (da
ponte) que permite que o Javascript acesse muitos recursos aplicao nativa) nota-se algumas pequenas mudanas visuais,
especficos do dispositivo e APIs nativas que no so geralmente como o campo de busca e a barra de navegao mais alargada.
acessveis a partir do navegador Web mvel sozinho [12]. Uma Para a codificao Web e Hbrida a nica mudana de cdigo
sntese das vantagens e desvantagens de cada tipo de alm do estrutural do Cordova, foram as chamadas externas do
desenvolvimento de aplicativos mobile est descrita no Quadro 1. HTML. O Quadro 3 apresenta o cdigo com a mudana.

27
II Workshop de Iniciacao Cientca em Sistemas de Informacao, Goiania - GO, 26 a 29 de Maio de 2015.

Fig. 2a Web Fig. 2b Hbrida Fig. 2c Nativa Figura 3: Estrutura do


Figura 2 Exemplos de Telas Aplicao Web, Hbrida e Nativa projeto da aplicao nativa

[2] Lecheta, R. Desenvolvendo iPhone e iPad. 1.ed. So Paulo: Novatec


Quadro 3: Exemplos de cdigos dos tipos Web e Hbrido
Editora, 2012.
Chamadas externas da aplicao hbrida
<link rel="stylesheet" [3] Milani, A. Programando para iPhone e iPad: aprenda a construir
href=css/jquery.mobile.min.css"/> aplicativos para iOS 1.ed. SP: Ed Novatec, 2012.
<script src=js/jquery.min.js"/> [4] Janssen, Cory. Mobile Application. Disponvel em:
<script src=js/jquery.mobile.min.js"/> <http://www.techopedia.com>. Acesso em: 20/2/2015.
Chamadas externas da aplicao Web
[5] Martins, C.; Antonio, A.; Oliveira, C. A. Os desafios para a
<link rel="stylesheet" href="//ajax.googleapis.com/ mobilizao de aplicaes baseadas em plataforma Web. Catalo:
ajax/libs/jquerymobile /1.4.2/jquery.mobile.min.css"/> Enacomp, 2013. P. 294-300.
<script src=//ajax.googleapis.com/ajax/libs/jquery/ [6] Moraes, M. E. Mobilidade corporativa desafia CIOs: Gerenciamento
2.0.3/jquery.min.js"/> de dispositivos mveis pode ser a soluo para segurana
<script src="//ajax.googleapis.com/ajax/libs/ empresarial. Disponvel em: <http://itforum365.com.br/>. Acesso
jquerymobile/1.4.2/jquery.mobile.min.js"/> em: 17 dez. 2013.
Por sempre estar disponvel no aplicativo mesmo quando sem [7] Trendmicro. Is your business at risk of losing data? Disp. em:
conexo com a Internet, a aplicao hbrida exige que as <http://www.trendmicro.com.br>. Acesso em: 10/8/2013.
bibliotecas fiquem armazenadas localmente no dispositivo por isto [8] Apple. iOS Technology Overview. Disponvel
a necessidade de alterar somente as chamadas externas. Em em:<https://developer.apple.com/library/ios/documentation/Miscella
neous/Conceptual/iPhoneOSTechOverview/Introduction/Introductio
comparativo, a aplicao nativa possui outro paradigma e n.html>. Acesso em: 18/12/2013.
estrutura. A linha visual da aplicao no desenvolvida em [9] Ferreira, M. Aplicativo de gesto energtica visando redes eltricas
linguagem de marcao HTML e sim visualmente em Interface inteligentes para dispositivo mvel. Disponvel em:
Builder pela storyboard no Xcode. A Figura 3 apresenta a <http://www.lactec.org.br/mestrado/dissertacoes/arquivos/MauricioF
estrutura do projeto nativo observando a quantidade de arquivos e erreira.pdf > Acesso em: 27/8/2014.
parmetros disponveis (as aplicaes tm cdigo fonte e toda a [10] Apple. Programming with Objective-C Disponvel
estrutura do projeto, disponvel no repositrio GitHub [16]). em:<https://developer.apple.com/library/prerelease/ios/documentatio
n/Cocoa. Acesso em: 18/12/2014.
[11] Apple. Start Developing iOS Apps Today Disponvel
5. CONCLUSO em:<https://developer.apple.com/>. Acesso em: 15/6/2014.
O presente trabalho apresentou uma abordagem sobre as possveis [12] Gok, N; Khanna, N. Building Hybrid Android Apps with Java and
formas de desenvolvimento com foco na plataforma iOS para JavaScript. California: OReilly Media, 2013.
dispositivos mveis. Foi apresentada uma breve reflexo sobre as [13] Morandi, P. Desenvolvimento Mobile nas Plataformas Android e
dificuldades enfrentadas pelos desenvolvedores em relao iOS. Disponvel em: <http://www.mobiltec. com.br/blog/index.php>
diversidade de plataformas existentes, os tipos de Acesso em: 17/12/2013.
desenvolvimento em iOS com suas caractersticas e um exemplo [14] Hales, W. HTML5 and JavaScript Web Apps. California: OReilly
de aplicao. Para pequenos projetos que demandam maior Media, 2012.
amplitude no que se refere compatibilidade de dispositivos, a [15] Google. Servios da Web da API do Google Maps. Disponvel em:
utilizao de aplicaes hbridas ou Web torna o tempo de <https://developers.google.com/maps/
documentation/geocoding/#JSON > Acesso em: 06/1/2015.
desenvolvimento mais curto alm de tornar a aplicao multi-
[16] Luquetti, L. Projetos do artigo: Desenvolvimento Mvel: diversas
plataforma com pouco trabalho de adaptao.
interfaces com enfoque na plataforma iOS Disp. em:
<https://github.com/leandroluquetti> Acesso em: 14/1/2015.
6. REFERNCIAS
[1] Ipsos. Google. Our Mobile Planet Brazil: understanding the mobile
consumer. May, 2013.

28

Potrebbero piacerti anche