O SO Android
Marcos B. Horner, UCPEL;
Resumo—O Sistema Operacional Android, possui algumas caracter´ısticas peculiares, os quais diferenciam de outros sistemas embarcados, procurei separar algumas mais importantes e de f´acil entendimento, mostrado que o Android ´e, e sempre foi uma plataforma aberta e livre, al´em de possuir sua arquitetura bem complexa, a qual ´e composta por pilhas e agrupadas em camadas, divididas em n´ıveis, possui diversas caracter´ısticas comuns e espec´ıficas, al´em de sua interface gr´afica ser muito moderna, a qual sempre o diferenciou de seu maior concorrente o iOS.
Palavras-Chave—Android, Sistema Operacional, Arquitetura, Vs iOS, Caracter´ısticas Android.
F
1
Introdu¸
c˜
ao
O
desenvolvimento de aplica¸c˜oes para disposi-tivos m´oveis tem evolu´ıdo exponencialmente com o tempo e j´a se tornou um padr˜ao de desen-volvimento quase onipresente no sentido de que muitas empresas est˜ao escalonando ou recrutando novos desenvolvedores para formarem seus grupos de desenvolvimento para sistemas m´oveis a fim de criar novas ou adaptar solu¸c˜oes de servi¸cos existentes para suprir a demanda do mercado (empresas banc´arias disponibilizando servi¸cos de opera¸c˜oes financeiras pelo celular, controle de estoque de materiais e outros)V´arias s˜ao as plataformas hoje para desenvol-vimento de aplica¸c˜oes para dispositivos m´oveis. As tecnologias existentes para desenvolvimento s˜ao: Symbian, Brew, JavaME, Embedded-Linux, .NET Compact Framework e Flash Lite.
E depois de muitos rumores informando que a gigantesca Google entraria tamb´em no ramo de desenvolvimento de dispositivos m´oveis por meio do lan¸camento do t˜ao aclamado “GPhone” (o qual seria mais um para a lista dos concorrentes do minimalista iPhone da Apple), o mesmo foi muito mais al´em.
Em 05 de novembro de 2007, a empresa tornou p´ublica a primeira plataforma Open Source de desenvolvimento para dispositivos m´oveis baseada
• Marcos Brasil Horner: Engenharia de Computa¸c˜ao, Cen-tro de Polit´ecnico - CPoli. Universidade Cat´olica de Pelotas - UCPEL.
E-mail: pachola@gmail.com
na plataforma Java com sistema operacional Li-nux, a qual foi chamada de Android. Esse artigo tem como objetivo destacar algumas caracteristi-cas do Sistema Operacional Android, mostrando sua plataforma e suas divis˜oes, a arquiterura e seus n´ıveis, interface gr´afica e layouts, e uma breve compara¸c˜ao com o seu maior concorrente o iOS. [1] [2] [3] [4] [5].
2
Hist´
orico das Vers˜
oes do Android
Figura 1. Hist´oria
• 1.5 - ”Cupcake- Introduziu a corre¸c˜ao au-tom´atica nos textos e tamb´em os famosos widgets.
• 1.6 - ”Donut- Trouxe a busca online partir da p´agina principal;
• 2.0 - ”´Eclair- Uso de m´ultiplas contas do Google;
• 2.1 - ”´Eclair”Busca por voz;
• 2.2- ”Froyo- Transformar o dispositivo em um ponto de acesso via wi-fi usando a rede 3G e introdu¸c˜ao do Flash no navegador;
• 2.3 - ”Gingerbread-trouxe pela primeiravez o suporte a voz sobre IP;
• 3.0- ”Honeycomb- Primeiro a operar em telas maiores egerenciamento de aplicativos aber-tos;
• 4.0 - ”Ice Cream Sandwich- Reformulou toda a interface da plataforma,novidade foi a cri-a¸c˜ao de pastas na tela principal do aparelho e agora ´e poss´ıvel;
• 4.1 / 4.2 - ”Jelly Bean”Melhora na funciona-lidade e desempenho da interface
• 4.4 KitKat – Inteligente e simples, com de-sign mais refinado e melhor desempenho, com novos recursos.
• 5.0 – Lollipop – Mais intuitivo nas respos-tas ao toque, elegˆancia do Android tanto em telas grandes como nas pequenas, com informa¸c˜oes na hora certa.
• 6.0 – Mashmallow - Respostas r´apidas com apenas um toque. O atalho mais inteligente para as informa¸c˜oes que vocˆe quer. O Now antecipa suas buscas. [6].
3
A plataforma Android
A plataforma Android hoje em dia ´e mantida pelo Open Handset Alliance, que ´e um grupo formado por mais de 30 empresas (de tecnologias de dispositivos m´oveis, provedoras de servi¸cos m´oveis, fabricantes, etc) as quais se uniram para inovar e acelerar o desenvolvimento de aplica¸c˜oes, servi¸cos, trazendo aos consumidores uma expe-riˆencia mais rica em termos de recursos, menos dispendiosa em termos financeiros para o mercado m´ovel. Pode-se dizer que a plataforma Android ´e a primeira plataforma m´ovel completa, aberta e livre. ´E uma plataforma desenvolvida utilizando o sistema operacional Linux. Sendo assim, todas as caracter´ısticas intr´ınsecas deste sistema foram incorporadas, bem como sistema de arquivos, ker-nel, servidores de terminais (X server), etc. [4].
4
A arquitetura
A arquitetura do sistema operacional Android ´e uma pilha de programas agrupados em camadas.
Podemos dividir essas camadas em n´ıveis zero, um, dois e trˆes, conforme figura abaixo.
Figura 2. Arquitetura
4.1 N´ıvel zero
No n´ıvel zero, temos a base da pilha, ou seja, o Kernel (Linux Kernel), para desenvolvˆe-la foi utilizado `a vers˜ao 2.6 do Sistema Operacional Li-nux. Nele encontraremos os programas de geren-ciamento de mem´oria, configura¸c˜oes de seguran¸ca e v´arios drivers de hardware.
4.2 N´ıvel um
No n´ıvel um, temos as camadas de bibliotecas (Libraries) e tempo de execu¸c˜ao (Android Run-Time). A camada de biblioteca ´e um conjunto de instru¸c˜oes que dizem ao dispositivo como li-dar com diferentes tipos de dados, incluindo um conjunto de biblioteca C / C + + usadas por diversos componentes do sistema e s˜ao expostas a desenvolvedores atrav´es da estrutura de aplicativo Android. A camada de tempo de execu¸c˜ao inclui um conjunto de bibliotecas do n´ucleo Java (Core Libraries). Para desenvolver aplica¸c˜oes para o Android, os programadores utiliza a linguagem de programa¸c˜ao Java, nesta camada encontraremos a M´aquina Virtual Dalvik (DVM). O Android usa a m´aquinas virtuais Dalvik para rodar cada aplica¸c˜ao com seu pr´oprio processo. Isso ´e impor-tante por algumas raz˜oes: nenhuma aplica¸c˜ao ´e dependente de outra e se uma aplica¸c˜ao parar,
ela n˜ao afeta quaisquer outras aplica¸c˜oes rodando no dispositivo e isso simplifica o gerenciamento de mem´oria, pois a m´aquina virtual est´a baseada em registradores e desenvolvida de forma otimizada para requerer pouca mem´oria e permitir que m´ ul-tiplas instˆancias executem ao mesmo tempo. Ao contr´ario do que se afirma, que a Dalvik ´e uma m´aquina virtual Java, isso n˜ao ´e verdadeiro, pois ela executa seu pr´oprio tipo de bytecodes.
4.3 N´ıvel dois
No n´ıvel dois, temos a camada de framework de aplica¸c˜ao (Application Framework), programas que gerenciam as aplica¸c˜oes b´asicas do telefone. Os desenvolvedores tˆem acesso total ao framework como um conjunto de ferramentas b´asicas com o qual poder´a construir ferramentas mais comple-xas.
4.4 N´ıvel trˆes
No n´ıvel trˆes, temos a camada de aplica¸c˜oes e as fun¸c˜oes b´asicas do dispositivo. Esta ´e a camada de intera¸c˜ao entre o usu´ario e o dispositivo m´ovel, nela encontramos aplicativos cliente de e-mail, programa de SMS, calend´ario, mapas, navegador, contatos entre outros. [1] [5].
5
Caracter´ısticas comuns
• E da Google;´ • Gratuito; • C´odigo aberto;
• N˜ao est´a preso a um hardware espec´ıfico; • O seu Kernel ´e Linux. Uma vers˜ao
persona-lizada para dispositivos m´oveis;
• Seus aplicativos s˜ao desenvolvidos em Java; • Possui uma quantidade imensa de aplicativos
dispon´ıveis, tanto gratu´ıto, como pagos; [6].
6
Caracter´ısticas Espec´ıficas
• Handset Layouts: A plataforma ´e adaptada tanto para dispositivos VGA maiores, gr´ afi-cos 2D, bibliotecas gr´aficas 3D baseadas em OpenGL ES especifica¸c˜ao 2.0 e os layouts mais tradicionais de smartphones.
• Armazenamento: ´E utilizado SQLite para armazenamento de dados;
• Mensagens: Tanto SMS como MMS s˜ao for-mas dispon´ıveis de envio de mensagem;
• Navegador: O navegador dispon´ıvel no sis-tema ´e baseado no framework de c´odigo aberto conhecido como WebKit;
• M´aquina virtual Dalvik: aplica¸c˜oes escritas em Java s˜ao compiladas em bvtecodes Dal-vik e executadas usando a M´aquina Virtual Dalvik , que ´e uma m´aquina virtual espe-cializada desenvolvida para uso em disposi-tivos m´oveis, o que permite que programas sejam distribu´ıdos em formato bin´ario (byte-code) e possam ser executados em qualquer dispositivo Android, independentemente do processador utilizado. Apesar das aplica¸c˜oes Android serem escritas na linguagem Java, ela n˜ao ´e uma m´aquina virtual Java, j´a que n˜ao executa bytecode JVM.
• Multim´ıdia: o sistema ir´a suportar formatos de ´audio e v´ıdeo como: MPEG-4, H.264, MP3, e AAC.
• Suporte adicional a Hardware: o Android ´e totalmente capaz de fazer uso de cˆameras de v´ıdeo, tela sens´ıvel ao toque, GPS, acelerˆ o-metros, e acelera¸c˜ao de gr´aficos 3D.
• Ambiente de desenvolvimento (SDK): o An-droid ´e totalmente capaz de fazer uso de cˆameras de v´ıdeo, tela sens´ıvel ao toque, GPS, acelerˆometros, e acelera¸c˜ao de gr´aficos 3D.[6].
7
Interface gr´
aficas e layouts
Os principais componentes que fazem parte da interface gr´afica com o usu´ario (GUI) da plata-forma Android foram denominados de Views e Viewgroups. Um View ´e representdo pela classe android.view.View. Este componente nada mais ´e do que uma estrutura de dados que representa ´
area retangular limitada pela tela do dispositivo. Por meio dele ´e poss´ıvel obter informa¸c˜oes como medidas de largura e altura, desenho, mudan¸ca de foco, capacidade de rolagem e captura de comandos percebida pela ´area espec´ıfica. O ou-tro componente ´e representado pela classe an-droid.view.Viewsgroup. (que pode ser conside-rado um layout, isto ´e, um container de Views (e tamb´em de Viewsgroups) que pode ser utilizado para criar estruturas mais complexas, ricas e robusta. Viewgroups por sua vez, ´e considerado a classe base para outros layouts (LinearLayout, RelativeLayout, etc). No momento em que o
m´etodo setContentView() ´e chamado, o mesmo recebe uma referˆencia para o n´o raiz da ´arvore que representa o layout a ser mostrado. Sendo assim o mesmo informa a seus filhos para que eles possam se desenhar, validar, etc. [3].
Figura 3. Interface Gr´afica
8
Android Vs iOS
Em primeiro podemos caracterizar que j´a ´e de aceitamento de todos, iOS ´e um software da Apple, ou vocˆe aceita ou devemos ir atr´as de outro smartphone. J´a o Android permite que possamos personalizar praticamente tudo dele, desde o app do discador ou de SMS, suporte a Widgets na tela inicial e permite at´e instala¸c˜ao de launchers alternativos se vocˆe quiser. Outra grande diferen¸ca ´e que os apps do Google vivem tranquilamente no iOS, enquanto programas da Apple n˜ao s˜ao encontrados no Android, n˜ao se aplicando somente na aplicativos, mas em transfe-rir emais, contatos, m´usicas, filmes, fotos e sobre documentos do Android para iOS ´e muito mais f´acil do que do iOS para Android.
8.1 Interface e notifica¸c˜oes
A Apple a pouco trouxe suas interfaces com designer mais moderno. J´a o Android a tempos (desde o Android 5.0) traz uma interface gr´afica visual mais colorida e com um designer mais moderno. Ambos possuem uma interface mais sofisticada, por´em mais simples para o usu´ario usufruir, cada uma com seu estilo. Basta cada
usu´ario se acostumar com ela, que n˜ao se im-portar´a com a outra. J´a nas notifica¸c˜oes, existem uma forte concorrˆencia entre os controles de voz Siri (Apple) e Google Now (Android), A Siri ´e mais forte no controle por voz, enviar informa¸c˜oes com a sua voz e usar seu smartphone sem as m˜aos, enquanto o Google Now, tem seus comandos de voz com foco principal para informa¸c˜oes a e-mails, hist´orico de busca, viagens recentes, etc.
8.2 Estabilidade, seguran¸ca e desempenho O Touch ID ´e uma grande vantagem do iOS e melhorou bastante a experiˆencia de desbloquear o telefone para autorizar compras. V´arios servi¸cos tentam oferecer o mesmo no Android, mas sem muito sucesso, a Samsung ´e a ´unica fabricante a colocar sensor de impress˜ao digital em dispo-sitivos Android. Com a vers˜ao Lollipop tem a possibilidade de definir ´areas e at´e dispositivos confi´aveis com os quais o c´odigo PIN ´e automati-camente desativado, trazendo mais seguran¸ca com c´odigos criptografados por padr˜ao, coisa que o iOS sempre possuiu em seus smartphones. Em mat´eria de seguran¸ca, n˜ao h´a d´uvida de que o Android n˜ao ´e t˜ao fechado quanto ao iOS, sendo mais f´acil instalar softwares n˜ao-autorizados no dispositivos, por´em se mantendo fielmente a Go-ogle Play Store, os riscos s˜ao m´ınimos. Em rela¸c˜ao a estabilidade e desempenho, a compara¸c˜ao fica mais complicada, devido a variedade de dispositi-vos antigos com as duas plataformas no mercado, mas o que se pode concluir ´e que ambos com hardware de ponta possuem baixa taxa de falha, e que os hardware mais antigos, s˜ao mais suscet´ıvel a travas do dispositivos. [2].
9
Considera¸
c˜
oes Finais
Por se tratar de uma plataforma totalmente livre, o Android logo se popularizou, se tornando o Sistema Operacional mais vendido do mundo. Al´em disso, ´e um sistema muito complexo para o desenvolvedor, por´em muito simples para o usu´ario. N˜ao podemos citar qual o SO ´e melhor, pois se deixa a desejar em um quesito ganha em outro, o que podemos dizer ´e que cada vez mais os fabricantes est˜ao aperfei¸coando mais seus antigos problemas, e sendo assim, o que vai sempre decidir ser´a a est´etica e qualidade final dos aparelhos.
Referˆ
encias
[1] Ricardo R Lecheta. Google Android-3a Edi¸c˜ao: Aprenda a criar aplica¸c˜oes para dispositivos m´oveis com o Android SDK. Novatec Editora, 2013.
[2] N. David. ios x android: edi¸c˜ao 2015. http://gizmodo.uol.com.br/ios-x-android-edicao-2015/, 2015. Accessed: 2016-05-21, published: Abril, 2015. [3] Danielle Dias Sim˜oes1 and J´ulio C´esar Pereira. Sistemas
operacionais m´oveis-android x ios.
[4] Ramon Ribeiro RABELLO. Android: um novo paradigma de desenvolvimento m´ovel. Revista WebMobile Magazine, Rio de Janeiro, 18(1):07–12, 2008.
[5] Vinicius C. Ferreira Rafael C. Gomes, Jean A. R. Fernandes. Sistema operacional android. http://www.midiacom.uff.br/ natalia/2012-1-sisop/tgrupo1.pdf, 2012. Accessed: 2016-05-20, published: Junho, 2012.
[6] Guilherme Alarc˜ao. Sistema operacional android. http://pt.slideshare.net/guilhermealarcao/apr-android, 2013.
Marcos Brasil Horner T´ecnico em Tele-comunica¸c˜oes no Instituto Federal do Rio Grande do Sul - IFSUL-PELOTAS/RS, Gra-duando em Engenhraria da Computa¸c˜ao, na Universidade Cat´olica de Pelotas/RS