http://computesys.com/ios-x-android-qual-e-o-melhor/

Principais diferenças do desenvolvimento nativo de Android e iOS

Juliano Nardon
CWI Software

--

Uma dúvida muito grande que acontece com programadores que estão querendo entrar no nicho da mobilidade, é com qual plataforma começar. Muitos decidem começar com Android, principalmente no Brasil, por não precisar de um Mac. Ou até mesmo por 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.

Público

Certamente, o primeiro passo do desenvolvimento de um produto, qualquer que seja, é entender para quem você vai estar produzindo. No desenvolvimento de aplicativos, a história é a mesma. Mas, no geral, nosso público é bem divido entre os 2 principais sistemas operacionais.

https://deviceatlas.com/blog/android-v-ios-market-share#brazil

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, com exceção da América do Norte, a proporção é bem parecida.

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.

Linguagem

Por alguns anos, as únicas opções possíveis foram Java e Objective-C, para Android e iOS respectivamente.

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 legado nessa linguagem. Projetos novos hoje, em sua maioria são feitos na linguagem nova. Que por sua vez é mais rápida, mais atualizada, e com uma curva de aprendizado muito menor do que a linguagem 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 simular com Swift, deixando o GAP do desenvolvimento das duas plataformas mais próximo.

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 pesada, 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 por sua vez. Tem melhorado muito com o tempo, mas ainda sim, 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 paras Lojas.

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. E 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 ser publicado. Muito menos criteriosa, e com um processo muito 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.

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 a opção dos desenvolvedores é de fazer apps pagos, ou até mesmo algo “freemium”, em que você tem de graça algumas funcionalidades, 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 na loja. 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%.

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 é um 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.

https://material.io/design/

Componentes como FloatingActionButton, ou a cor da status bar um 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.

https://developer.apple.com/design/human-interface-guidelines/

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.

--

--