De que se trata o artigo:

O artigo prova o que já ouvimos falar há muito tempo: grandes mentes pensam iguais. Não é por acaso o fato de Android e iOS estarem liderando o mercado muito a frente de seus concorrentes. Não é por acaso que empresas como Nokia, BlackBerry e Palm tiveram seus domínios destruídos de uma maneira impressionante. Tudo isso aconteceu porque as arquiteturas das plataformas Android e iPhone possuem muitos conceitos extremamente parecidos, divergindo apenas no nome e na linguagem. Neste contexto, a discussão apresentada neste artigo serve para qualquer profissional de tecnologia que desenvolve ou pretende desenvolver em Android e iPhone. Mas serve principalmente para quem já domina uma destas plataformas e precisa de um ponto de partida para conhecer a outra.


Em que situação o tema é útil:

É útil para desenvolvedores que desejam programar nas duas plataformas mas que, atualmente, desenvolvem somente para uma delas.

Resumo DevMan:

Este artigo irá destacar algumas das principais diferenças e similaridades entre as plataformas Android e iOS. Veremos ao final que as semelhanças são enormes entre as duas principais plataformas para desenvolvimento móbile presentes no mercado atualmente.

Autores: Ricardo Ogliari e Robison Cris Brito

Até algum tempo atrás o mercado de telefones celulares era dominado basicamente pela Nokia e seu sistema operacional Symbian. Existiam outras gigantes que também eram donas de uma grande reputação e fatias consideráveis do mercado. Uma delas era a Palm e a outra era a RIM (Rsearch in Motion).

A vida para os usuário era completamente diferente. Porém, quem mais sofria eram os desenvolvedores. As três empresas citadas acima utilizavam como core a plataforma Java ME. Esta, por sua vez, também teve seu auge no mesmo tempo do domínio do Symbian.

E hoje, como estas empresas e plataformas estão? A Nokia sofreu uma queda vertiginosa na sua participação de mercado. Viu seu império cair definitivamente. O seu sistema operacional Symbian foi abandonado e a Nokia se jogou de corpo e alma no Windows Phone. Se a decisão foi acertada ou não, logo saberemos.

A Palm foi vendida para a HP. Sua última criação, o sistema operacional WebOS, apesar de receber bons comentários de analistas técnicos, parece que não vai ser continuado pela empresa sucessora e tende a desaparecer.

A BlackBerry passa por sérios problemas, o maior deles é a perda acelerada de mercado. Algo semelhante ao que acontece com a Nokia. A RIM mantinha seus domínios intactos no Canadá e Estados Unidos, porém, foi batida facilmente por duas plataformas que logo falarei.

E o Java ME? Depois do surgimento dos smatphones, dos novos sistemas operacionais e das novas ferramentas para desenvolvedores, a plataforma da Oracle parece ter saído da pré-história diretamente para os dias atuais. Seu caso é o mais grave de todos.

Apesar de estar muito mal, a RIM pode sair do problema em que se encontra. A Nokia parece que está ganhando fôlego com o Windows Phone. A Palm já está extinta e, o Java ME será o próximo.

Temos que destacar que o Java ME não serve apenas para telefones celulares e smartphones. Seu uso vai muito além, estando presente em uma quantidade muito grande e heterogênea de dispositivos. Estou me referindo aqui a participação do Java ME com sua configuração CLDC (Connected LmitedDevice Configuration) e seu perfil MIDP (Mobile Information Device Profile). Estes sim estão fadados ao desaparecimento.

E todos estes acontecimentos se devem ao surgimento de um aparelho, o iPhone e, de um sistema operacional, o Android. Hoje em dia, os dois são líderes indiscutíveis de mercado, quebrando barreiras e domínios que duravam décadas. Por exemplo, a Nokia foi líder de mercado durante 15 anos.

As duas plataformas vivem em pé de guerra, disputando o mercado palmo a palmo. Lutam para ver quem tem mais aplicativos em suas respectivas lojas virtuais, batalham para ver quem apresenta os maiores índices de rentabilidade aos desenvolvedores e, vivemos na eterna questão: Quem é melhor, iOS ou Android? Prefiro não responder esta questão diretamente, mas posso afirmar que isso é impossível. Por que cada plataforma tem pontos fortes e fracos, sendo assim, dependendo do quesito o Android se sobressai, ou, o iOS.

Mas apesar das diferenças e da batalha, as duas plataformas apresentam conceitos de arquitetura e desenvolvimento muito semelhantes. Talvez justamente por serem parecidas em alguns aspectos chaves é que ambas dominam o mercado e são tão queridas pelos desenvolvedores.

Neste artigo o objetivo é justamente falar de algumas destas semelhanças entre as plataformas. O leitor verá que as gigantes Apple e Google pensam parecido em vários quesitos.

Interface gráfica

Android

No desenvolvimento Android os programadores fazem uso de uma ferramenta disponível para a IDE (Integrated Development Environment) Eclipse, o ADT (Android Development Tools). Ou ainda, podem baixar diretamente o Motodev Studio, um software criado e distribuído pela Motorola que faz um porting do Eclipse com o ADT e mais algumas características específicas. Em qualquer uma das opções, o desenvolvedor estará bem servido.

Nos dois casos, o desenvolvedor Android poderá utilizar uma ferramenta drag-and-drop para criar a interface dos seus aplicativos. Veja a Figura 1.

Figura 1. Ferramenta drag-and-drop.

Perceba que os componentes de interface gráficas, chamados de View´s, estão na parte da esquerda. Basta o desenvolvedor clicar e arrastar aqueles que ele desejar para a representação visual do aplicativo na parte central da imagem.

Esta ferramenta também permite que o desenvolvedor configure cada View presente na sua interface gráfica. Clicando em um dos itens, o mesmo tem acesso a uma aba de propriedades, mostrada na Figura 2. A partir deste momento, de uma forma amigável, é possível alterar diversas características visuais e comportamentais dos botões, listas, caixas de seleção, barras de progressos, dentre outros.

Figura 2. Editando propriedades no Android.

Na Figura 2 podemos ver claramente algumas opções, como o estilo do texto (propriedade TextStyle), cor do texto (propriedade TextColor ...

Quer ler esse conteúdo completo? Tenha acesso completo