Baixar - Unipar

Propaganda
SISTEMAS OPERACIONAIS MÓVEIS - ANDROID X IOS
Danielle Dias Simões¹, Júlio César Pereira².
Universidade Paranaense - Unipar
Paranavaí – PR - Brasil
[email protected]
[email protected]
Resumo. O artigo constitui uma rápida comparação entre dois sistemas
operacionais móveis Apple iOS e Google Android, com o objetivo de
apresentar as principais funções de cada um assim como suas ferramentas,
plataformas, arquiteturas, entre outras, assim ressaltando o que cada um
disponibiliza ao usuário final, utilizando uma ampla pesquisa em artigos e
pesquisas encontradas na internet. A comparação realizada mostrou o que cada
sistema disponibiliza.
1. Introdução
Não há como negar, os telefones celulares, smartphones e dispositivos móveis ocupam
cada vez mais tempo e espaço em nossas vidas. Seus processadores estão mais velozes,
há mais memória e um salto considerável no que diz respeito ao armazenamento foi
dado. Praticamente tudo o que antes era possível apenas pelos computadores de mesa
agora pode ser feito em qualquer lugar, a qualquer hora do dia, direto da palma da sua
mão.
Atualmente houve uma explosão de novas tecnologias para aparelhos de
celulares (dispositivos móbile), este que inicialmente realizavam apenas uma função
principal de fazer ligações entre seus usuários, hoje com varias funções de
comunicação. Com essa evolução os celulares sofreram transformações em relação ás
arquiteturas de hardware e software, como por exemplo, os sistemas operacionais.
Como é possível observar o campo da Computação Móvel, vem evoluindo de forma
muito rápida e tem crescido substancialmente a cada ano.
2. Metodologia
Foi realizada uma rápida análise detalhada dos conceitos que fundamentam o conceito,
assim como estudo sobre os métodos e técnicas para o desenvolvimento de cada sistema
operacional móvel.
3. Desenvolvimento
3.1 Contextualização de Mercado
Uma pesquisa realizada com 300.000 consumidores de serviços móveis, pela empresa
Nielsen, destaca que 44% dos assinantes norte-americanos possuem um smartphone, em
comparação com 18% há apenas dois anos. E segundo este relatório este dispositivos
avançados estão mudando a forma como os consumidores interagem com seus
telefones. [TONIN, 2012]
Com isso podemos destacar que as redes sociais se destacam cada vez mais entre
os dispositivos móveis, tanto usuários de Smartphones Android e iPhones.
Existem muitas plataformas para dispositivos móveis no mercado atualmente,
centralizando a atenção dos usuários através desses atrativos, onde existem taxas
expressivas de crescimento e bastante sucesso. Hoje em dia usuários escolhem
aparelhos celulares de acordo com especificações de hardware do tipo display, funções,
rede, desing, espessura e peso. Deixando as aplicações suportadas sempre para um
segundo plano. Mas note-se que uma grande maioria deles vem mudando o
comportamento na hora de escolherem seus aparelhos, deixando de lado a usabilidade
para escolher o software que seu aparelho vai usar. Assim o sucesso de cada plataforma
dependerá da quantidade de aplicações disponíveis para ela.
3.2 Android
O Android é uma plataforma para smartphones, baseada no sistema operacional Linux,
que possui diversos componentes, com uma variada disponibilidade de bibliotecas e
interface gráfica, além de disponibilizar ferramentas para a criação de aplicativos.
(LECHETA, 2009 apud HUBSCH, 2012)
O que atraiu o interesse da Google foi o objetivo do projeto que possui uma
plataforma aberta aos fabricantes, assim deixando flexível e atualizável. Com intuito de
permitir mobilidade ao usuário.
Sua arquitetura é dividida em Kernel, runtime, bibliotecas, framework e
aplicativos.
O Kernel é responsável por fazer a união entre a parte hardware e software. O
seu principal objetivo é gerenciar o computador e permitir que os aplicativos sejam
executados e façam uso dos recursos que existem. O núcleo também tem que garantir
que a memória RAM seja usada em seu potencial sem riscos.
RUNTIME. São bibliotecas que atuam nos “bastidores” para automatizar tarefas
comuns realizadas por linguagens diferentes de programas de computador e sistemas
operacionais. Tempos de execução, também são utilizados para fornecer a eficiência por
redução do número de passos necessários para executar programas e reduzir os recursos
necessários, tais como o espaço de disco, de memória e de uso do CPU.
(COMPUTER,2014)
O tempo de execução dessa biblioteca consiste de funções, variáveis e
constantes comuns e muitas operações do programa. Assim podendo executar cálculos,
processar vídeos e fazer imagens, áudio, texto e até mesmo outras bibliotecas de tempo
de execução.
O Android disponibiliza aos desenvolvedores outros recursos além das
bibliotecas. Sendo eles o provedor de conteúdos, gerenciador de janelas, telefone,
recursos, atividades entre outros.
Para que possamos entender melhor quando um componente de aplicação inicia
e a aplicação não têm outros componentes rodando, o sistemas Android inicia outro
processo Linux para a aplicação rodam em um mesmo processo e thread (chamada
thread principal). Se um componente de aplicação inicia e existe um processo para
aquela aplicação (pois outro componente da aplicação já existe), então o componente é
iniciado dentro do processo e usa a mesma thread da execução. Assim podendo fazer
com que diferentes componentes em sua aplicação rodem em processos separados e
criar thread adicionais para quaisquer processos.
O uso de memória é geralmente limitado a 16 MB em aplicações Android. Essa
característica se dá pela capacidade contida em um dispositivo móvel. Quanto mais
aplicações o Android puder manter na memória, mas rápido ele será para o usuário
quando este precisar trocar entre aplicações. Então, as aplicações devem
preferencialmente usar o mínimo de memória possível para garantir várias aplicações
rodando ao mesmo tempo sem que sejam finalizadas. (HUBSCH, 2012)
Desenvolvidos a partir da premissa de que a CPU não deve consumir de energia
se os aplicativos ou serviços não precisam de energia, o Android exige que os
aplicativos e serviços solicitem recursos da CPU com “Wake locks” através do
framework de aplicações Android e bibliotecas nativas Linux. Se não há nenhum Wake
lock ativo, a CPU é desliga para poupar energia. A classe PowerManager é a forma
acessível do Android Framework disponibilizar o gerenciamento de energia para
serviços e aplicações. (HUBSCH, 2012)
3.3 Iphone OS
O iOS é o sistema operacional desenvolvido originalmente para o iPhone, e também
usado em outros dispositivos móveis. O iOS é baseado no conceito de manipulação
direta, utilizando toque, ou seja, interação com o sistema operacional com o usuário é
imediata, pois esse sistema possibilita ao usuário, com gestos, toques na tela, deslizar
dos dedos, ampliar fotos, reduzir imagens, digitar mensagens em teclado virtual entre
outros.
Nos iPhone OS, a arquitetura do sistema e as tecnologias são semelhantes ás
encontradas no Mac OS X. O kernel no iPhone OS é baseado em uma variante do
mesmo kernel base que é encontrado no Mac OS X. No topo deste kernel estão as
camadas de serviços que são utilizadas para implementar aplicações na plataforma.
(HUBSCH, 2012)
Como a Apple faz o hardware e o sistema operacional do iPad, iPhone e iPod
touch, tudo é projetado para funcionar em conjunto. Por isso, os apps aproveitam
totalmente os recursos de hardware como processador dual core os chips gráficos
rápidos, as antenas wireless e muito mais. O Multitarefa é um exemplo perfeito disso.
O iOS 7 aprende quando você gosta de usar seus apps e atualiza o conteúdo deles em
horários com baixo consumo de energia, por exemplo quando seu dispositivo já está em
uso e conectado a wi-Fi. O conteúdo dos apps preferidos fica atualizado sem gastar
muita bateria.
O funcionamento de uma thread acontece inicialmente, em um processo. A
maioria dos sistemas de hoje são baseados em computadores com apenas um processo
que executam várias tarefas simultâneas. Ou seja, vários processos que compartilham do
uso do Hardware tomando certas fatias de tempo para execução. A esta capacidade é
denominado o termo multiprocessamento. Teoricamente existe uma grande proteção
para que um processo não afete a execução de outro, modificando, por exemplo, a área
de dados do outro processo, a menos que haja um mecanismo de comunicação entre os
processos (IPC – Inter Process Communication). Este alto grau de isolamento reduz os
desagradáveis GPFs (General Protection Fault), pois o sistema se torna mais robusto.
Os desenvolvedores dos iPhones se preocupam muito com o gerenciamento de
memória em suas aplicações, basicamente isso significa alocar a memória que será
usada pelos objetos, utilizá-las e depois liberar essa memória. Esquecer-se de liberar a
memória, ou liberá-la enquanto ainda está em uso, são problemas que podem causar
mau funcionamento da aplicação e inclusive o famoso ”crash”, fazendo-a fechar
inesperadamente.
iPhone não possui garbage collector como o Android. O desenvolvedor
responsável por limpar as variáveis depois de usá-las, caso contrário ocorrerá
vazamento de memória no programa. Apesar de classe NSObject ter uma ajuda de
contagem para manter o controle de quantos outros objetos estão atualmente usando um
objeto, isso não ocorre de forma automática e os desenvolvedores têm de ajustar por si
só. A regra para gerir a memória é certificar-se de que o número de métodos próprios
chamados em um objeto será igual ao número de perdas de métodos próprios quando o
programa tiver terminado a execução.
iPhone não possui o kit e ferramenta de gerenciamento de energia que o Mac OS possui.
Em vez disso, está função é incorporado na camada de núcleo (core layer). Os sistemas
que mais consomem energia no iPhone em ordem decrescente são o sistema 3G, wi-fi,
sistema 2G, Bluetooh e GPS. Reduzir o numero de aplicações alto consumo de energia
ajuda a economizar. Ao colocar um iPhone no modo Sleep. Ele vai desligar da rede,
desligar o wi-fi e a luz da tela. (HUBSCH, 2012)
4. Considerações Finais
A IDE (Integrate Development Environment) XCode, desenvolvida pela Apple é a
responsável pelo desenvolvimento para iOS, enquanto o desenvolvimento para Android
é feito a partir da popular IDE Eclipse.
Quanto na parte de documentação a Apple fornece um bom acervo de fontes aos
desenvolvedores que estão iniciando na plataforma iOS. A iTunes University oferece
uma seção de vídeos para iniciantes onde os conceitos básicos da plataforma são
explicados de forma bastante intuitiva, familiarizando assim o desenvolvedor com a
plataforma.
O Android não oferece guias em forma de vídeos com a Apple faz para o iOS,
porém seus recursos de desenvolvimento são bem mais organizados que os do iOS. Vale
lembrar que muitos projetos de código aberto Android podem ser usados como ideias
sobre arquitetura e uso API. Nesse ponto o Android sobressai, pois com a política de
NDA (Non-disclosure agrément) da Apple não existem muitas fontes em termos de
código aberto para iPhone.
O objetivo principal foi fazer um estudo comparativo entre dois sistemas operacionais
que na atualidade vem arrancando no mercado perante a preferência dos consumidores.
Eles são os Android desenvolvido pela Google e os iOS desenvolvidos pela Apple. O
objetivo foi mostrar detalhadamente cada sistema operacional e não apontar o melhor.
Assim possibilitando ao leitor uma escolha para que possa a partir dessas informações
desenvolverem ou aprofundar o assunto.
5. Referencias
Android Developers. Disponível em: < http: // developer.android.com> Acessado em:
24/04/2014
HUBSCH, Eduardo. Uma Abordagem Comparativa do desenvolvimento de
aplicações para dispositivo Móveis. Faculdade de Tecnologia de São Paulo, 2012, São
Paulo. Disponível em: < www.fatecsp.br_dti_tcc_tcc00065> Acessado em 25/04/2014
KENNEY, Martin. Structuring the Smartphone Industry: Is the Mobile Internet
OS Platforma the Key; Davis: University of California, 2011.
LECHETA, R.R. (2009). Google Android – Aprenda a criar aplicações para
dispositivo móveis com o Android SDK. 1ªEdição,São Paulo: Editora Novatec, 2009.
MACHILIS, Sharon. Mercado móvel em números: iOS lidera tablets e android
smartphones. IDG Now, 09 jun. 2011.
MORANDI, Paulo Sergio; RODOLPHO, Luiz Roberto. Desenvolvimento Mobile nas
Plataformas Android e iOS. Disponível em: < http://
www.mobiltec.com.br/blog/index.php/desenvolvimento-mobile-nas-plataformas-android-eios/> Acessado em: 23/04/2014
TONIN, Graziela Simone. Tendências em Computação Móvel. Universidade de São
Paulo – Departamento de Ciência da Computação, 2012, São Paulo.
Download