12 de fev de 2011

Android - O que é e para quê serve


O Post de hoje  é voltado para os Geeks de plantão,  futuros colegas de profissão, programadores e curiosos em geral. Vou falar hoje sobre o Android.






O que é Android?


Android é um software feito para dispositivos móveis que inclui um sistema operacional, middleware e aplicativos.  Foi inicialmente desenvolvido pela Google e posteriormente pela Open Handset Alliance, mas a Google é a responsável pela gerência do produto e engenharia de processos. O Android permite aos desenvolvedores escreverem software na linguagem de programação Java controlando o dispositivo via bibliotecas desenvolvidas pela Google.




Opções:

* Aplicativos Framework permitindo reutilização e substituição de componentes;
* Dalvik - máquina virtual otimizada para dispositivos móveis;
*  Navegador código aberto integrado baseado no WebKit;
* Gráficos otimizados alimentado por bibliotecas gráficas 2D; Gráficos 3D baseados no OpenGL ES 1.0;
* SQLite para armazenamento de dados estruturados;
* Média com suporte para áudio, vídeo e imagens(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF);
* Telefonia GSM (dependente de hardware);
* Bluetooth, EDGE, 3G, e WiFi (dependente de hardware);
* Câmera, GPS, bússola, e etc (dependente de hardware);
* Ambiente de desenvolvimento incluindo um dispositivo emulador, ferramentas de depuração, memória, perfis de desempenho e um plugin para o IDE Eclipse.

Aplicações

Android irá navegar com um grupo de aplicações, incluindo um cliente de email, programa SMS, calendário, mapas, navegador, contatos, etc. Todas aplicações são escritas utilizando a linguagem de programação Java.

Aplicações Framework

Desenvolvedores têm pleno acesso aos mesmos framework API's utilizados por aplicações complexas. A arquitetura da aplicação foi desenhada para simplificar a reutilização de componentes, sendo que qualquer aplicativo pode publicar as suas funcionalidades e qualquer outra aplicação poderá fazer uso das mesmas(mesmo que sujeito a restrições de segurança impostas pelo framework). Este mesmo mecanismo permite que componentes sejam substituído pelo usuário.

Todas aplicações de baixo nível são um conjunto de serviços e de sistemas, incluindo:

* Um rico e extensível conjunto de Views que podem ser usadas para construir uma aplicação, incluindo listas, grides, caixas de texto, botões e mesmo um navegador web;
* Content Providers aplicações que permitam o acesso a dados de outros aplicativos (como Contatos), ou para compartilhar seus próprios dados;
* Resource Manager fornece acesso a recursos (não codificados) como gráficos e arquivos de layout;
* Notification Manager permite que todas aplicações exibam avisos personalizados na barra de estado;
* Activity Manager que gerencia o ciclo de vida das aplicações;


Bibliotecas

Android inclui um conjunto de bibliotecas C / C + + usadas por diversos componentes do sistema Android. Estas capacidades são expostas aos desenvolvedores por meio da aplicação framework Android. Algumas das principais bibliotecas são listadas a seguir:

* Sistema C library - Uma biblioteca derivada BSD que é uma implementação do sistema do padrão C (libc), voltada para dispositivos baseados em Linux;
* Media Libraries - baseado em PacketVideo's OpenCORE, as bibliotecas suportam reprodução e gravação de muitos formatos populares de áudio e vídeo incluindo MPEG4, H.264, MP3, AAC, AMR, JPG e PNG;
* Surface Manager - Controla o acesso à exibição do subsistema e de camadas gráficas 2D e 3D de múltiplas aplicações;
* LibWebCore - Um navegador web moderno que torna poderosa a navegação com Android;
* SGL - Gráficos 2D de baixa camada;
* 3D Libraries - Uma implementação baseada em OpenGL ES 1,0 APIs: Bibliotecas usadas em aceleração de hardware 3D (quando disponível);
* FreeType - Bitmaps e fontes vetoriais para renderizção;
* SQLite - Leve e poderosa base de dados relacional disponível para todas as aplicações.

Sistema e Requisitos de Software

Para desenvolver aplicações no Android utilizando o código e ferramentas do Android SDK, você precisará de um computador e adequado ambiente de desenvolvimento, conforme descrito abaixo.

Sistemas Operacionais Suportados

* Windows XP ou Vista;
* Mac OS X 10.4.8 ou posterior (x86 apenas);
* Linux (testado em Linux Ubuntu Dapper Drake).

Ambientes em desenvolvimento suportados

* IDE Eclipse

O Eclipse 3.2, 3.3 (Europa)
O Eclipse JDT Plugin (incluído na maioria dos pacotes Eclipse IDE)
O JDK 5 ou JDK 6 (JRE por si só não é suficiente)
Não é compatível com o Gnu Compiler para Java (gcj)
O Android Development Tools Plugin (opcional)
 

No site da Android, neste link aqui, pode ser baixado o SDK para o Sistema Operacional que está utilizando e também o emulador de programas. Além de ter conteúdo explicativo de como desenvolver os aplicativos e programas .

 E por que é importante aprender a desenvolver aplicativos para o Android?

As notícias mais recentes da área de TI ajudam a explicar o porque, a mais recente delas, ontem pra ser exata, diz: 

“Os números indicam isso: a plataforma Android cresceu 888% no ano passado"  Fonte: IT WEB

" Itautec lançará um ou mais tablets com Android ainda no primeiro semestre. Fonte:  IG Tecnologia

"Android torna-se a segunda plataforma mais popular nos EUA" Fonte:  Jornal Floripa - Tecnologia

 O Symbian está caindo em desuso e o Android está tomando conta do Mercado, especialmente o nacional que agora está caindo na real e começando a desenvolver tablets. Por essa razão se faz tão necessário aprender  já quando ainda não há tantos profissionais com domínio do Android, com certeza esse conhecimento será um diferencial muito em breve. Então por que não começar agora?

Eu comecei a fazer alguns aplicativos já e garanto que não é coisa de outro mundo, com um pouquinho de esforço dá pra fazer umas coisas bem legais.

Então deixo aí a dica do dia para quem está pensando e querendo aprender algo novo.


Boa sorte! 

Nenhum comentário:

Postar um comentário