Android ClipartO Android é uma plataforma móvel open-source (código aberto), que possibilita a criação de aplicativos por empresas e outros desenvolvedores. Criada pelo Google em parceria com outras empresas (Open Handset Aliance), é uma das maiores sensações do momento e segue logo atrás do iPhone em termos de market share. É um sistema operacional que roda em tablets e smarthphones e utiliza a linguagem de programação Java para desenvolvimento de aplicativos.

O sistema operacional Android é baseado no Linux e inclui diversas aplicações e API’s, que incluem:

  • uma rica interface gráfica;
  • uma plataforma de widgets;
  • um navegador de internet baseado no webkit;
  • integração total com os serviços do Google como Google Maps e Gmail;
  • suporte a multimídia, GPS, banco de dados, gráficos, jogos em 3D e muitos outros recursos.

O que são API’s?

API significa Aplication Programming Interface ou Interface de Programação de Aplicativo e é uma interface que possui um conjunto de padrões de programação que possibilita a criação de aplicativos e utilização.

Em termos de programação o Android passou por algumas mudanças na tentativa de facilitar o processo e aumentar sua difusão entre os programadores. O lançamento da Simple, por exemplo, foi exatamente uma tentativa do Google de simplificar a linguagem de programação utilizada no Android. A tecnologia Simple se baseia em Basic e tende a facilitar a compreensão e o uso da linguagem, encorajando um número maior de desenvolvedores a escrever aplicativos para Android.

Base para Aplicações Android

A base para o desenvolvimento para qualquer plataforma é o SDK (System Development Plataform, ou Plataforma de Desenvolvimento do Sistema). O Android tem seu próprio SDK, uma plataforma de desenvolvimento baseada em Linux que permite o desenvolvimento de programas de forma fácil e eficiente.

É importante observar que o Android SDK acompanha as versões do sistema, sendo por isso importante manter seu programa sempre compatível. Veja algumas versões do Android que tem nomes de doces ou bolos:

  • 1.5 Cupcake;
  • 1.6 Donut;
  • 2.1 Eclair;
  • 2.2 FroYo;
  • 2.3/2.4 Gingerbread;
  • 3.0/3.2 Honeycomb;
  • 4.0 Ice Cream Sandwich;
  • 4.1 Jelly Bean;
  • 4.4 KitKat.

O SDK vai dar suporte à integração com algumas tecnologias e hardware do sistema tais como acelerador gráfico 3D OpenGL ES, câmera, touchscreen, GPS, acelerômetro, bússola, bluetooth, wi-fi, EDGE e HSDPA.

Além da integração com o hardware, essa plataforma de desenvolvimento oferece suporte a áudio, vídeo e imagem (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF). Tais aplicativos são desenvolvidos utilizando a linguagem de programação Java, e como o Android é um sistema operacional de código aberto, ele permite aos usuários modificar e ter acesso a informações internas do sistema, possibilitando uma maior interação com o OS.

Requisitos Mínimos do Sistema

Para utilização do Android SDK, é necessário um computador com arquitetura baseada em x86, com o sistema Windows XP, MacOSX 10.4.8 e Ubuntu Linux Drapper Drake, ou superior. Também é necessário ter instalado:

O Android também inclui um número considerável de bibliotecas que oferecem suporte a componentes desenvolvidos em C/C++, System C, bibliotecas de multimídia, suporte a um gerenciador de navegação interna, biblioteca LibWebCore, bibliotecas 3D com suporte a OpenGL e SWLite.

Distribuição do Android

Depois de ter o programa desenvolvido e assinado, a distribuição normalmente é feita através do Android Market, sendo necessário submeter o programa para aprovação e disponibilização no Android Market para compra ou download.

Infelizmente no Brasil, o Android Market só disponibiliza programas gratuitos, não estando aberto para a compra de programas, o que dificulta programadores brasileiros de ganharem dinheiro com a venda dos seus programas.

Com o objetivo de valorizar o trabalho dos desenvolvedores para Android, a Google costuma lançar de tempos em tempos concursos que permeiam os melhores softwares, oferecendo até 10 milhões em prêmios.

Livros sobre Programação e Desenvolvimento para Android

Para os programadores brasileiros que quiserem se aprofundar no desenvolvimento de aplicações para Android, já existem obras em português que tratam do assunto. Veja alguns livros:

  • Desenvolvimento de Aplicações Android, de Rick Rogers, John Lombardo, Zigurd Mednieks, Blake Meike.
  • Android para Desenvolvedores, de Pereira, Lucio Camilo Oliva; Silva e Michel Lourenço.
  • Google Android: Aprenda a criar aplicações para dispositivos móveis com o Android SDK, de Ricardo R. Lecheta.

Software Livre e Código Aberto

Software Livre e Código Aberto são termos bastante discutidos dentro do universo da informática, ainda mais quando o sistema operacional Linux foi sendo popularizado, além de suas distribuições.

O termo código aberto ou open source foi criado pela OSI (Open Source Initiative) e quer dizer que qualquer indivíduo poderá ter acesso ao código-fonte do programa, porém o seu criador que irá especificar como o programa deverá ser utilizado.

O rótulo Open Source surgiu em uma reunião em fevereiro de 1998, que juntou personalidades que se tornaram verdadeiras referências, como Todd Anderson, Chris Peterson, Jon "Maddog" Hall e Larry Augustin, Sam Ockman e Eric Raymond.

Muitos confundem código aberto com software livre, mas há diferença entre esses termos.

Diferença entre Software Livre e Código Aberto

A diferença entre os movimentos Software Livre e de Código Aberto está apenas na argumentação em prol dos mesmos softwares.

Os defensores do movimento Open Source acreditam que não se trata de algo anticapitalista, mas um modelo de negócios alternativo, o modelo colaborativo de produção intelectual. Algumas grandes empresas como IBM, HP, Intel e Dell também estão investindo no software de código aberto e na criação do Open Source Development Lab (OSDL), uma instituição destinada à criação de tecnologias de código aberto.

A definição do Open Source foi criada pela Open Source Iniciative em 1998, sendo uma das figuras principais de sua criação Bruce Perens e determina que para ser considerado um programa de código aberto o mesmo deve garantir:

  • Distribuição livre;
  • Acesso ao código-fonte;
  • Permitir a elaboração de trabalhos derivados;
  • Integridade do autor do código fonte;
  • Não discriminação contra pessoas ou grupos;
  • Não discriminação contra áreas de atuação;
  • Distribuição da Licença;
  • Licença não específica a um produto;
  • Licença não restrinja outros programas;
  • Licença neutra em relação a tecnologia.

Já o Software Livre, movimento fundado por Richard Stallman, em 1983, chamado Free Software Foundation (FSF), é uma entidade sem fins lucrativos destinada a apoiar esse movimento que defende a cópia, distribuição, modificação e estudo de um determinado software.

Segundo o FSF, o software deve respeitar as quatro liberdades definidas pela Free Software Foundation, compartilhadas também pelo projecto Debian. Qualquer licença de software livre é também uma licença de código aberto:

  1. Liberdade de execução do programa para qualquer finalidade;
  2. Liberdade para o estudo, funcionamento e modificação do código-fonte para atender as necessidades do programador;
  3. Liberdade para disseminar cópias para auxiliar outras pessoas;
  4. Liberdade para aperfeiçoar o programa, de forma que todos da comunidade adquiram vantagens.

A grande diferença desses movimentos está em suas filosofias. De um lado, a OSI é mais receptiva no que diz respeito ao mercado de software. Ex.: A Microsoft, sendo uma empresa que produz software proprietário poderá criar programas de código aberto, utilizando suas licenças, desde que respeite os princípios da OSI.

De outro, a FSF defende que um software deve ser totalmente livre, ou seja, poderá ser copiado, alterado, utilizado e redistribuído conforme as necessidades do usuário. No mesmo exemplo da Microsoft, essa empresa poderia enfrentar empecilhos na criação de seus programas, pois isso poderia atingir os princípios do movimento, já que ela produz software proprietário (pago).

Cursos de Programação

Silhueta Programador ComputadorQuer aprender a programar? Veja algumas dicas sobre cursos gratuitos online, profissionalizantes e técnicos acessando a página:

Cursos de Programação.

Programar para Android

Androids ClipartO sistema operacional Android tem sido uma das plataformas mais populares para o desenvolvimento de aplicativos para desenvolvedores e empresas. Aprenda a Programar para Android.

Programar para IOS

iPad papel de parede floresO IOS é o sistema operacional móvel da Apple e para o desenvolvimento de suas aplicações  é necessário conhecer Objective-C. Veja algumas dicas para programar para iPad, iPhone e iPod.