,

Nativo ou híbrido: Qual solução adotar?

Nativo ou híbrido

A utilização de aplicativos móveis (mobile apps) cresce a cada dia. Cada vez mais as pessoas estão conectadas e o smartphone já passa a virar uma extensão do corpo humano. Usamos aplicativos para tudo: nos comunicarmos, nos divertir, pesquisar, comprar e até mesmo paquerar. Com base nisto, desenvolver um aplicativo hoje em dia é um ótimo negócio, porém, qual solução adotar? Aplicativo nativo ou híbrido?

É melhor um app nativo ou híbrido?

A primeira coisa que temos que começar a entender é que nenhuma máxima sempre é verdadeira. Não é porque um aplicativo é nativo ou híbrido que ele é sempre melhor ou pior. É necessário entender o que a nossa aplicação faz, o que esperamos dela e até onde ela pode chegar, e, então decidir qual melhor modelo de tecnologia adotar.

Exitem prós e contras para ambas as formas de desenvolvimento (nativa ou híbrida) e neste artigo vou tentar esclarecer alguns mitos e apontar algumas características importantes sobre cada tecnologia.

Além de nativo ou híbrido temos também os web apps. Vamos agora entender a diferença de cada um deles.

Aplicativos nativos

Os aplicativos nativos podem ser instalados nos dispositivos mobile (smartphones e tablets). Esta instalação na maioria dos casos é feita utilizando o download do app por meio da app store correspondente. No caso do IOS a Apple Store e no caso do Android a Google Play.

O seu desenvolvimento é baseado nas linguagens nativas de cada plataforma juntamente com um ou mais SDKs. SDK é a sigla de Software Development Kit, ou seja, Kit de Desenvolvimento de Software ou Kit de Desenvolvimento de Aplicativos no nosso caso.

As linguagens nativas de cada plataforma são:

  • iOS poderá utiliza Objective C ou Swift;
  • Android utiliza o JAVA; e
  • Windows Phone utiliza C#;

Possuem uma grande facilidade no acesso às funcionalidades do sistema operacional do aparelho, tais como GPS, câmera, acelerômetro, entre outras.

Aplicativos híbridos

Assim como os aplicativos nativos, os aplicativos híbridos também são instalados nos dispositivos mobile e podem ser baixados de uma app store.

A grande diferença para os nativos é que os híbridos são feitos utilizando linguagens e tecnologias de web e utilizam frameworks (como por exemplo Cordova) para serem convertidos para a linguagem nativa do aparelho.

Para acessar os recursos do sistema operacionak , os frameworks utilizam de bibliotecas e também podem utilizar SDKs.

As linguagens de programação (ou marcação) comumente utilizadas nos aplicativos híbridos são:

  • HTML5;
  • CSS3 – muitas vezes utilizando como base Bootstrap e/ou similares;
  • Javascript – muitas vezes utilizado juntamente com outros frameworks front-end, tais como Jquery Mobile e Angule;

Web apps

Os web apps nada mais são que páginas de internet que podem ser acessadas por qualquer navegador. Não são instaladas do dispositivo e por isto não possuem recursos para acesso as funcionalidades do sistema operacional.

Um web app restringe-se a ter um design semelhante a de um aplicativo para aumentar a experiência de uso dos usuários.

Qual tipo de aplicativo devo escolher, nativo ou híbrido?

Abaixo segue uma lista de perguntas que devem ser respondidas para entender qual o melhor tipo de solução adotar:

  1. Qual prazo você possui para desenvolver o seu aplicativo?
  2. Você possui orçamento disponível para investir no desenvolvido em cada plataforma?
  3. Qual será a periodicidade de atualização do seu aplicativo?
  4. Este aplicativo é um MVP? MVP é a sigla para Minimum Viable Product, isto é, Produto Mínimo Viável.
  5. Você necessita que o usuário possua a melhor experiência de uso possível?
  6. Você utilizará muitos recursos de sistema operacional?Você quer que seu usuário tenha a melhor experiência possível?

Você tendo estas respostas, poderá olhar na tabela comparativa logo abaixo e definir qual solução seria a mais adequada para o seu aplicativo.

Tabela comparativa

Nativo
Híbrido
HTML5 (mobile web)

Conhecimentos necessários para Android e iOS

Objective-C, iOS SDK, Java, Android SDK

HTML, CSS, Javascript, Mobile Development Framework

HTML, CSS, Javascript

Distribuição

App Store

App Store

Web

Velocidade de desenvolvimento

Baixa

Moderada

Rápida

Custo de desenvolvimento

Alto

Moderado

Baixo

Custo de manutenção

Alto

Moderado

Baixo

Performance gráfica

Alta

Moderada

Moderada

Performance do aplicativo

Rápida

Moderada

Moderada

Acesso às funcionalidades do dispositivo

Câmera

Sim

Sim

Sim
(Saiba mais)

Notificações Push

Sim

Sim

Não

Contatos

Sim

Sim

Não

Acesso Offline

Sim

Sim

Sim
(Saiba mais)

Geolocalização

Sim

Sim

Sim
(Saiba mais)

Upload de arquivos

Sim

Sim

Sim
(Saiba mais)

Giroscópio

Sim

Sim

Sim
(Saiba mais)

Acelerômetro

Sim

Sim

Sim
(Saiba mais)

Navegação swipe

Sim

Sim

Sim

Microfone

Sim

Sim

Sim
(Saiba mais)

Indicado para

Jogos ou aplicativos onde o foco do usuário está relacionado a performance gráfica e uma experiência de uso amplificada.

Aplicativos que não exigem uma performance extrema mas que necessitam de acessos aos recursos do dispositivo.

Aplicativos que não necessitam de uso excessivo de recursos do dispositivo.

A tabela acima foi retirada e traduzida do site MRC Productivity.

Principais considerações sobre um app nativo ou híbrido

Dentre tudo o que falamos, tem 2 pontos principais que sempre devem ser levados em consideração na hora da decisão: Prazo e Custo.

Prazo

  • Aplicativo Nativo: O tempo de desenvolvimento é mais extenso pelo fato de ter que ser criado uma versão de aplicativo para cada plataforma.
  • Aplicativo Híbrido: O tempo de desenvolvimento é mais curto pelo fato de você desenvolver em uma única linguagem e compilar para outras.

Custo

  • Aplicativo Nativo: Pelo fato do desenvolvimento ser multiplicado pela quantidade de plataformas, o aplicativo acaba tendo seu custo elevado quase ao dobro do custo de um aplicativo híbrido além de ter uma curva de aprendizado muito maior por utilizar linguagens distintas.
  • Aplicativo Híbrido: O tempo é muito mais curto pois a linguagem utilizada é mais familiar aos profissionais de web e o fato de desenvolver em uma linguagem específica que compilará para as outras reduz o custo de produção quase pela metade.

Links úteis

Comentários

comentário(s)