19 de mar de 2018

Android x iOS: entenda as principais diferenças em programação e desenvolvimento

Udacity Brasil

Atualmente, o mercado de aplicativos para celulares é um dos mais lucrativos para os desenvolvedores: a maior parte das empresas já entendeu que é preciso ter um bom produto mobile para atender melhor seus clientes.

Isso significa que a demanda por mão de obra qualificada para criar ou manter um app é crescente.

Mesmo que você já trabalhe com programação, saber desenvolver para os sistemas Android e iOS é um diferencial cada vez mais importante.

Mas qual você deve aprender: Android, iOS ou ambos?

Para os olhos de um usuário comum, criar um aplicativo para essas plataformas pode parecer algo bastante similar – afinal, os aplicativos não fazem as mesmas coisas? –, mas cada um desses sistemas possui peculiaridades e diferenças técnicas, de ferramentas e design.

Em suma, são dois mundos completamente diferentes. Há sete diferenças principais, que você confere no infográfico abaixo e que são explicadas em mais detalhes ao longo deste artigo.

Para ser um desenvolvedor de qualidade, muitos recomendam que você aprofunde seu conhecimento em um ou outro. Isso permitirá, primeiro, que você dedique mais tempo de estudo a um único stack de desenvolvimento, o que facilita o processo de aprendizagem.

Em segundo lugar, as empresas contratam programadores diferentes para cada plataforma e, portanto, esperam que estes tenham conhecimento aprofundado no sistema que conhecem melhor.

Para ajudar você a decidir em qual deles iniciar os seus estudos sobre criação de aplicativos, conheça as principais diferenças entre o desenvolvimento Android e iOS.

Leia: 6 passos para se tornar um desenvolvedor mobile

Market share e mercado de trabalho de Android e iOS

Os aparelhos que rodam iOS e Android representam hoje mais de 99% de todos os celulares vendidos no mundo.

Mas, no duelo entre os dois, o Android leva vantagem: 81,7% contra 17,9% no último trimestre de 2016. No Brasil, o cenário é ainda mais desigual: 93,7% dos telefones vendidos rodam o sistema operacional da Google.

A tendência é que essa diferença continue crescendo, já que são diversos os fabricantes que desenvolvem aparelhos que possuem Android como sistema operacional — como Samsung, Motorola, Sony e LG — enquanto todos os que rodam iOS são vendidos somente pela Apple.

Uma rápida pesquisa em sites brasileiros que oferecem vagas de emprego indica que a demanda por desenvolvedores Android é bem parecida com a procura por desenvolvedores iOS.

Então como decidir para qual dos dois aprender a programar?

Se o seu intuito é atingir mais pessoas com um único aplicativo, talvez faça mais sentido aprender a desenvolver para Android. Agora, se você quer trabalhar em uma grande empresa, com certeza haverá espaço para desenvolvimento iOS também.

Leia: Passo a passo: saiba como criar um app do zero

Diferenças técnicas no desenvolvimento

Por mais que a existência de oportunidades no mercado de trabalho seja um fator de decisão extremamente importante, todo programador também preza por um ambiente de desenvolvimento em que se sinta confortável.

É primordial entender alguns fatores técnicos entre os stacks da Apple e da Google para tomar uma decisão.

Veja alguns dos principais pontos aqui:

Linguagem de programação

A primeira (e talvez maior) diferença no desenvolvimento Android e iOS está na linguagem de programação: enquanto um usa Objective-C/ Swift (iOS), o outro usa Java (Android).

Tanto Objective-C quanto Java são linguagens orientadas a objetos bem verbosas, o que pode ser estranho para desenvolvedores com bagagem em JavaScript, por exemplo.

O resultado disso é que o código em ambas é bastante boilerplate — isto é, exige que você repita várias linhas de código em sua aplicação.

Já a linguagem Swift foi apresentada pela Apple nos últimos anos com o intuito de corrigir as armadilhas do Objective-C com um código mais dinâmico e fácil de ler. Atualmente, o mesmo tem ocorrido com o desenvolvimento Android por meio da linguagem Kotlin.

O que importa aqui é que a curva de aprendizagem para essas linguagens é bem parecida.

Se você já possui algum background em Java, você terá mais facilidade para desenvolver apps Android. Caso tenha mais familiaridade com JavaScript, por exemplo, aprender a desenvolver em Swift tende a ser mais fácil.

Design

Você já reparou que alguns aplicativos possuem um aspecto totalmente diferente nas suas versões Android e iOS? Isso ocorre porque há regras que regem como o design deve ocorrer em cada um desses sistemas operacionais.

A Google trabalha com o Material Design e a Apple também possui suas regras no Human Interface Guidelines.

O design é muito importante no processo de desenvolvimento e, neste aspecto, o Android sai na frente: a quantidade de informação nos documentos do Material Design é muito mais abrangente do que nas regras da Apple, o que favorece quem está aprendendo.

Leia: 5 tendências de interface de apps que vão afetar os desenvolvedores

Fragmentação

Como mencionado, existem muito mais dispositivos Android no mercado do que iOS — e isso é fundamental para que sua fatia de usuários seja consideravelmente maior.

Entretanto, quando o assunto é desenvolvimento, isso é uma desvantagem enorme para o Android.

São milhares de celulares e de tablets que rodam Android, de diferentes marcas, modelos, tamanhos e componentes. Isso impacta diretamente o trabalho do programador, pois é preciso fazer testes de compatibilidade e muitos ajustes para garantir que a experiência do usuário seja a mesma em cada um desses dispositivos.

No caso da Apple, a situação é outra. São apenas 18 modelos de iPhones lançados até hoje desde o primeiro lançado em 2007 e vários deles não possuem mais suporte de novas versões do iOS (ninguém mais desenvolve para o modelo 3GS, por exemplo).

Isso significa que é muito mais fácil saber que o aplicativo funcionará perfeitamente em todos os celulares.

Mais do que isso, a fragmentação também está ligada à versão do Android ou do iOS. Por possuir menos produtos (e uma política mais agressiva em relação a atualizações), a quantidade de modelos rodando as últimas versões do iOS tende a ser muito maior em comparação ao Android, que possui vários aparelhos rodando versões muito antigas do sistema.

Para exemplificar, veja no gráfico abaixo como a adesão ao iOS 10 se deu após seu lançamento em outubro de 2016, indo de 50% a quase 90% em poucos meses. A quantidade de dispositivos atualizados subiu rapidamente – e isso facilita muito a vida dos desenvolvedores iOS.

A história é bem diferente para o Android:

Há uma grande variedade de versões sendo utilizadas — e a 7.0 (Nougat), que chegou ao mercado em 2016, estava presente em menos de 30% dos aparelhos ativos após um ano do lançamento.

Ferramentas

Não importa qual é o seu computador ou sistema operacional – Windows, Linux, macOS, etc. –, você poderá desenvolver aplicativos para Android tranquilamente instalando o Android Studio, um IDE (em português, Ambiente de Desenvolvimento Integrado) específico para essa plataforma.

Já para criar aplicativos para iPhones, iPads, Apple Watches e afins, você precisará de um computador Apple (macOS) com o XCode (IDE) instalado.

Isso tende a elevar os custos iniciais de desenvolvimento para iOS, já que os preços dos computadores da Apple são bem mais elevados do que os de um PC no Brasil.

Leia: 7 habilidades exigidas pelo mercado de Android Developers

Pós-produção

O último passo após criar o seu aplicativo é permitir que outros usuários possam utilizá-lo.

O envio de aplicativos para a Play Store da Google é bem simples. O desenvolvedor deve pagar o valor de US$ 25 para obter uma licença e seguir um processo — não muito longo, nem rígido — para que seu aplicativo esteja disponível para download em algumas horas.

No caso da App Store da Apple, o processo acontece de forma diferente.

Primeiramente, o valor da licença é de US$ 100 e o processo pode levar semanas, pois os requisitos de aprovação são bem rígidos e cada submissão de novos aplicativos é analisada manualmente.

Leia: Do Brasil para a Itália: conheça a carreira internacional de um desenvolvedor iOS

Android ou iOS?

Como mostram todos esses argumentos, cada um dos sistemas possui suas vantagens e desvantagens – e ter em mãos as informações corretas é o primeiro passo para tomar uma decisão bem embasada sobre qual trilha de desenvolvimento mobile seguir.

Seja ela qual for, o melhor jeito de começar seus estudos é por meio de programas que auxiliem no seu processo de aprendizagem.

Na Udacity, há três programas Nanodegree para quem deseja atuar na área: Desenvolvedor iOS, Desenvolvedor Android ou, então, o Android Basics, caso você não possua experiência prévia em programação. Invista nesse mercado!

Sobre o autor
Udacity Brasil

A Udacity, conhecida como a "Universidade do Vale do Silício", é uma plataforma online e global que conecta educação e mercado para ensinar as habilidades do futuro – de data science e marketing digital à inteligência artificial e desenvolvimento. Hoje, há mais de 7 mil alunos ativos no país e 50 mil pelo mundo.