6 diferenças entre desenvolver em Android e iOS

Image of Henrique Silva

Henrique Silva

Founder

Android e IOS
Descubra as diferenças na distribuição de aplicativos entre a App Store e Google Play.

Dúvidas na Mobilidade: Android ou iOS?

Uma das principais dúvidas entre programadores que desejam ingressar no nicho de desenvolvimento móvel é: por onde começar? Muitos brasileiros optam pelo Android, principalmente por não precisarem de um Mac e por já terem algum contato com Java, uma linguagem bastante familiar. Neste artigo, vamos explorar as principais diferenças entre as plataformas durante o desenvolvimento.

1. Público

O primeiro passo no desenvolvimento de um produto é entender quem será o seu público-alvo. No caso de aplicativos, essa lógica se mantém. No Brasil, a divisão entre os dois principais sistemas operacionais é bastante clara.

Como ilustrado na imagem, o Android ainda possui uma ampla vantagem em termos de número de usuários no Brasil. Embora essa proporção varie globalmente, a tendência se mantém, exceto na América do Norte.

Em geral, os usuários de iOS tendem a ter um poder aquisitivo maior e demonstram uma lealdade à marca que é significativamente mais forte do que a observada entre os usuários de Android.

2. Linguagem

Por muitos anos, as únicas opções viáveis para desenvolvimento em Android e iOS eram, respectivamente, Java e Objective-C.

Em 2014, a Apple lançou o Swift, uma linguagem destinada a substituir o já ultrapassado Objective-C. Com uma adoção rápida e massiva, o Swift rapidamente se tornou a escolha preferida para novos projetos, restando apenas os legados na linguagem antiga.

Atualmente, a maioria dos novos projetos é desenvolvida em Swift, que oferece maior velocidade, atualizações constantes e uma curva de aprendizado bem mais acessível.

Seguindo essa tendência, em 2017, o Google anunciou suporte ao Kotlin para o desenvolvimento Android, visando substituir o Java. Assim como o Swift, o Kotlin foi bem recebido pela comunidade de desenvolvedores. É uma linguagem moderna, controlada pela JetBrains, que também opera em uma JVM, proporcionando um código mais limpo e legível. Além disso, sua sintaxe é bastante similar à do Swift, aproximando ainda mais o desenvolvimento entre as duas plataformas.

3. IDEs

Ao abordar as IDEs, é importante ressaltar que nenhuma das plataformas oferece uma solução perfeita. O Xcode (iOS) apresenta diversos bugs, enquanto o Android Studio (Android) é notoriamente pesado, o que pode comprometer a produtividade em máquinas menos potentes.

O Xcode, desenvolvido pela Apple, é a principal escolha para iOS. Embora a JetBrains tenha lançado o AppCode, competir com o Xcode é um desafio, mesmo com seus bugs conhecidos, especialmente relacionados ao cache, que exigem limpezas frequentes.

Por outro lado, o Android Studio, também gerenciado pela JetBrains com consultoria do Google, é bastante pesado. Embora tenha melhorado ao longo do tempo, recomenda-se pelo menos 16GB de RAM para um desempenho satisfatório. Existem outras opções, como o Eclipse, mas, assim como o Xcode, o Android Studio é utilizado em mais de 90% dos projetos submetidos às lojas de aplicativos.

4. Distribuição nas Lojas

Como muitos usuários já sabem, a Apple é bastante rigorosa em relação a diversos aspectos, incluindo a aceitação de aplicativos nas suas lojas.

Na App Store, o processo de avaliação é notoriamente mais lento do que na concorrente. Embora tenha havido melhorias ao longo do tempo, ainda é comum esperar alguns dias pela aprovação. Além disso, é frequente receber feedbacks com erros. A Apple, em algumas situações, pode ser considerada "exigente", questionando a coleta de dados do usuário que considera desnecessária. Essa burocracia, embora possa ser frustrante, contribui para a segurança geral do sistema operacional.

Por outro lado, na Google Play, o seu aplicativo pode ser aprovado em apenas 3 ou 4 horas. O processo é menos rigoroso e mais simples, o que traz suas vantagens e desvantagens. Como mencionado anteriormente, os aplicativos no iOS tendem a ser mais seguros, enquanto na Google Play é possível encontrar aplicativos de menor utilidade.

5. Monetização

Dado que os públicos nas duas plataformas são distintos, é natural que as estratégias de monetização também variem.

No iOS, os usuários geralmente são menos receptivos a banners e anúncios durante a utilização dos aplicativos. Por isso, muitos desenvolvedores optam por criar aplicativos pagos ou modelos "freemium", onde algumas funcionalidades são gratuitas e o acesso completo requer pagamento.

Em contrapartida, no Android, é raro encontrar aplicativos pagos na loja, em parte porque muitos usuários não possuem cartões de crédito cadastrados. Nesta plataforma, os usuários estão mais abertos a anúncios durante a navegação.

Vale lembrar que, em ambas as lojas, a taxa cobrada sobre a venda de aplicativos é de 30%.

6. Diretrizes de Design

Dado que temos diferentes usuários em dispositivos e sistemas operacionais distintos, é evidente que as diretrizes de design também variam.

Embora não seja obrigatório seguir essas diretrizes, elas são recomendações valiosas. É comum encontrar componentes do Material Design em aplicativos iOS e elementos da Human Interface Guidelines em aplicativos Android.

Componentes como o Floating Action Button ou uma barra de status levemente mais escura que a barra de navegação são características do Material Design. Esses elementos são aplicáveis tanto em aplicativos quanto em sites, sendo frequentemente vistos em aplicativos do Google, inclusive no iOS.

Por outro lado, a Human Interface Guidelines da Apple apresenta gestos distintos, barras de navegação na parte inferior da tela, entre outros. Esses elementos são comuns em aplicativos nativos do iOS. Um exemplo notável das diferenças nas diretrizes é o WhatsApp, que utiliza predominantemente componentes nativos.

Neste caso, é fácil observar algumas das principais diferenças entre as duas diretrizes.

Além da programação em si, essas são as diferenças mais marcantes que encontrei ao longo dos anos de desenvolvimento.

  • Android
  • IOS

Voltar para todas as postagens