Esse artigo faz parte da revista WebMobile edição 18. Clique aqui para ler todos os artigos desta edição

imagem

Clique aqui para ler este artigo em PDFimagem_pdf.jpg

 

Android

Android: um novo paradigma de desenvolvimento móvel

 

 

O desenvolvimento de aplicações para dispositivos móveis tem evoluído exponencialmente com o tempo e já se tornou um padrão de desenvolvimento quase onipresente no sentido de que muitas empresas estão escalonando ou recrutando novos desenvolvedores para formarem seus grupos de desenvolvimento para sistemas móveis a fim de criar novas ou adaptar soluções de serviços existentes para suprir a demanda do mercado (empresas bancárias disponibilizando serviços de operações financeiras pelo celular, controle de estoque de materiais e outros).

Várias são as plataformas hoje para desenvolvimento de aplicações para dispositivos móveis. As tecnologias existentes para desenvolvimento são: Symbian, Brew, JavaME, Embedded-Linux, .NET Compact Framework e Flash Lite.

E depois de muitos rumores informando que a gigantesca Google entraria também no ramo de desenvolvimento de dispositivos móveis por meio do lançamento do tão aclamado “GPhone” (o qual seria mais um para a lista dos concorrentes do minimalista iPhone da Apple), o mesmo foi muito mais além.

Em 05 de novembro de 2007, a empresa tornou pública a primeira plataforma Open Source de desenvolvimento para dispositivos móveis baseada na plataforma Java com sistema operacional Linux, a qual foi chamada de Android. Este artigo tem como objetivo descrever a nova plataforma móvel do Google, dando uma visão geral sobre a arquitetura e componentes (uma descrição mais detalhada dos componentes será feita nos próximos artigos) da plataforma, ambiente de desenvolvimento, mostrando ao leitor passo-a-passo a construção de seu primeiro Android.

A plataforma Android

A plataforma Android foi concebida inicialmente pelo Google. A plataforma está sendo e será mantida pelo Open Handset Alliance, que é um grupo formado por mais de 30 empresas (de tecnologias de dispositivos móveis, provedoras de serviços móveis, fabricantes, etc) as quais se uniram para inovar e acelerar o desenvolvimento de aplicações, serviços, trazendo aos consumidores uma experiência mais rica em termos de recursos, menos dispendiosa em termos financeiros para o mercado móvel. Pode-se dizer que a plataforma Android é a primeira plataforma móvel completa, aberta e livre.

Esta plataforma foi desenvolvida utilizando o sistema operacional Linux. Sendo assim, todas as características intrínsecas deste sistema foram incorporadas, bem como sistema de arquivos, o kernel, os servidores de terminais (X server), etc. Estas são algumas características suportadas pela plataforma:

·         Framework de Applicação permitindo reuso de componentes;

·         Máquina Virtual Dalvik otimizada para dispositivos móveis;

·         Navegador Web Integrado baseado na engine open source WebKit;

·         Gráficos Otimizados por meio de uma biblioteca de gráficos 2D; e gráficos 3D baseados na especificação OpenGL ES 1.0;

·         SQLite para armazenamento de dados em formato de estruturas relacionais;

·         Suporte para mídias de áudio (formatos MP3, AAC, AMR), vídeo (MPEG4 e H.264) e imagens (formatos JPG, PNG, GIF);

·         Telefonia GSM (dependente de hardware);

·         Bluetooth, EDGE, 3G, e WiFi (dependente de hardware)

·         Câmera, GPS, bússola, e acelerômetro (dependente de hardware)

·         Poderoso Ambiente de Desenvolvimento, incluindo um emulador de dispositivo, ferramentas para depuração, analisador de memória e performance; e um plug-in para a IDE Eclipse

 

A seguir será explicado a arquitetura e os componentes que juntos compõem a arquitetura da plataforma Android.

A arquitetura

A arquitetura da plataforma Android é dividida em várias camadas: Applications, Application Framework, Libraries e Android Runtime; e Linux Kernel.

Na camada Applications, está localizada uma lista de aplicações padrões que incluem um cliente de e-mail, programa de SMS, calendário, mapas, navegador, gerenciador de contatos, e outros que serão desenvolvidos pela comunidade, sendo todas essas aplicações escritas na linguagem Java.

Já na camada Application Framework estão os componentes que permitirão com que novas estruturas sejam utilizadas para futuras aplicações, enfatizando a reutilização de código. Os seguintes componentes fazem parte desta camada:

·         Um rico e extensível conjunto de componentes gráficos que pode ser utilizado para construir uma aplicação, bem como listas, grids, caixas de textos, botões, e até um navegador web embutido.

·         Provedores de conteúdo que habilitam às aplicações acessar dados de outras aplicações (como os Contatos, por exemplo) ou compartilhar seus próprios dados.

·         Gerenciador de recursos que prove acesso a recursos não-codificados como strings, gráficos, e arquivos de layout.

·         Um gerenciador de notificação que permite que todas as aplicações exibam mensagens de alerta personalizáveis na barra de status.

·         Um gerenciador de atividade que gerencia o ciclo de vida das aplicações e permite controlar os recursos previamente alocados, sendo que caso eles não estejam sendo mais utilizados, os mesmos são desalocados para liberar memória. ...

Quer ler esse conteúdo completo? Tenha acesso completo