Tecnologia
6 diferenças entre desenvolver em Android e iOS
5 minutos de leitura
Uma dúvida muito grande entre os programadores que querem entrar no nicho da mobilidade é com qual plataforma começar. Muitos brasileiros decidem começar com Android por não precisar de um Mac. Ou até mesmo para poder trabalhar com Java, que é uma linguagem que a maioria já teve pelo menos um pequeno contato. A ideia é mostrar quais as principais diferenças na hora do desenvolvimento.
1. Público
Certamente, o primeiro passo do desenvolvimento de um produto é entender para quem você vai produzir. No desenvolvimento de aplicativos a história é a mesma. Mas, no geral, nosso público é bem divido entre os 2 principais sistemas operacionais.
Como podemos ver na imagem, no Brasil, Android ainda tem uma ampla vantagem na questão de número de usuários. Esse número varia no mundo todo, mas no geral a proporção é bem parecida, com exceção da América do Norte,.
No iOS, em geral, o público tende a possuir poder aquisitivo maior. E é um público muito mais fiel à marca do que no Android.
2. Linguagem
Por alguns anos, as únicas opções possíveis para Android e iOS foram, respectivamente, Java e Objective-C.
Em 2014, a Apple anunciou o Swift, que veio para substituir o já obsoleto Objective-C. Com uma “early adoption” gigantesca, em pouco tempo o Swift praticamente acabou com os projetos na linguagem antiga, restando praticamente apenas projetos legados nessa linguagem.
Projetos novos hoje, em sua maioria são feitos na linguagem nova. Que é mais rápida, mais atualizada, e com uma curva de aprendizado muito menor do que a antiga.
Seguindo essa tendência, em 2017, a Google anunciou que daria suporte no desenvolvimento de Android para Kotlin, na tentativa de substituir Java. Assim como o Swift, Kotlin foi muito bem recebido pelos desenvolvedores. É uma linguagem nova, controlada pela JetBrains, que também roda em uma JVM. Mas deixa seu código muito mais limpo, e muito mais legível. Além de ser muito similar com Swift, deixando o GAP do desenvolvimento das duas plataformas mais próximo.
3. IDEs
Para começar a falar sobre isso, o primeiro ponto a citar é que não temos uma IDE brilhante em nenhuma das plataformas. O Xcode (iOS) possuí inúmeros bugs, e o Android Studio (Android, óbvio) é extremamente pesado, o que torna o desenvolvimento improdutivo em máquinas mais lentas.
O Xcode, gerenciado pela própria Apple, é a principal escolha para iOS. Embora a JetBrains tenha lançado o AppCode, é muito difícil competir com o Xcode, mesmo tendo diversos bugs conhecidos. Principalmente na questão de cache, você se pegará diversas vezes tendo que limpar o cache do seu projeto.
O Android Studio, também gerenciado pela JetBrains, com o Google trabalhando como consultor, é extremamente pesado. Tem melhorado muito com o tempo, mas ainda assim eu recomendaria 16GB de RAM para seu uso. Existem outras opções como o Eclipse, mas assim como o Xcode, o Android Studio é utilizado em mais de 90% dos projetos submetidos para as Lojas.
4. Distribuição nas lojas
Como a maioria dos usuários já sabe, a Apple costuma ser muito mais criteriosa em relação a diversos assuntos. Isso inclui a aceitação dos aplicativos publicados nas lojas.
Na App Store, as avaliações são muito mais lentas do que na concorrente. Embora tenha melhorado com o tempo, ainda é preciso esperar alguns dias pela avaliação. E ainda sim, é muito mais comum retornar algum erro. Muitas vezes acaba sendo “chata” em alguns assuntos. Por exemplo, questionando o fato de você pedir algum dado do usuário que ela ache desnecessário. Claro que toda essa burocracia acaba deixando o sistema operacional mais seguro de ser usado como um todo.
Já na Google Play, muitas vezes em questão de 3 ou 4 horas seu app já está aprovado e pronto para publicação. Muito menos criteriosa e com um processo mais simples de ser realizado, o que tem suas vantagens e desvantagens. Como dito no parágrafo anterior, no iOS os apps são bem mais seguros. Por conta disso, é possível ver aplicativos sem utilidade nenhuma na loja da Google.
5. Monetização
Como temos dois tipos de públicos diferentes, é esperado que a estratégia de monetização não seja a mesma nas duas plataformas.
No iOS, os usuários estão muito menos abertos a banners e propagandas durante o uso do app. Geralmente os desenvolvedores optam por fazer apps pagos, ou até mesmo algo “freemium”, em que você tem algumas funcionalidades de graça e paga pelo aplicativo completo.
Já no Android, dificilmente você verá algum aplicativo pago na loja. Até mesmo porque a maioria dos usuários sequer tem cartão de crédito cadastrado. Nessa plataforma, os usuários são muito mais abertos para propaganda durante o uso.
Lembrando que nas 2 lojas, a taxa cobrada pela venda de aplicativos é de 30%.
6. Design Guidelines
Se nós temos usuários diferentes, em dispositivos diferentes, em sistemas operacionais diferentes, fica fácil dizer que teríamos diferentes guidelines de design.
Não é uma regra seguir as diretrizes de layout, é claro. É somente uma recomendação. Tanto que diversas vezes você irá se deparar com componentes do Material Design em aplicativos iOS, e componentes da Human Interface Guideline em aplicativos Android.
Componentes como FloatingActionButton ou a cor da status bar pouco mais escura que a barra de navegação, são características do Material Design. Esses componentes se aplicam tanto em aplicativos quanto em sites. É muito comum ver esses elementos aplicados em aplicativos do Google, inclusive em iOS.
No caso da Human Interface Guideline da Apple, é muito comum você se deparar com diferentes gestures, barra de navegação na parte inferior da tela e etc.
É comum ver esses elementos aplicados em apps nativos do iOS. O melhor exemplo das diferenças de Guidelines, na minha opinião, é o WhatsApp. Que faz a maior parte do app com componentes nativos.
Neste caso, fica bem claro ver algumas das principais diferenças entre as duas Guidelines.
Tirando a parte da programação em si, estas são as diferenças que achei mais marcantes durante esses anos de desenvolvimento.
Referências:
Android V iOS market share 2019