6 aspectos essenciais para decidir entre aplicações mobile híbridas e nativas

Waldyr Felix
5 min readSep 3, 2015

--

Aplicações mobile híbridas vs nativas: como decidir qual a melhor aplicação para o seu projeto mobile?

Hoje para criar aplicações mobile há duas alternativas interessantes: modelo híbrido e o nativo.

Ambos os modelos com suas vantagens e desvantagens.

Pensando sobre o tema resolvi escrever este post para ajudá-lo a entender melhor o modelo híbrido.

Facilitando a tomada de decisão sobre qual estratégia seguir no desenvolvimento de novos aplicativos.

1. Plataformas mobile para desenvolvimento

Se você deseja distribuir a mesma aplicação em múltiplas plataformas, Android e iOS, por exemplo, existem várias opções.

Podemos usar o modelo nativo onde programamos em Objective-C ou Swift para iOS (iPhone e iPad), Java para as infinitas versões de Android e C# para Windows Phone.

Ou, o modelo híbrido onde desenvolvemos com HTML, JavaScript e CSS para criar aplicações Android, iOS ou Windows Phone.

Guiar o desenvolvimento de uma aplicação nativa que será distribuída em muitas plataformas pode ser bastante complexo.

Dado que são sistemas operacionais, SDKs, IDEs, arquiteturas e linguagens completamente diferentes.

Trilhar o caminho híbrido de desenvolvimento consiste basicamente em desenvolver uma única aplicação e manter a compatibilidade em todas as plataformas.

Usando a mesma arquitetura, linguagem, SDK, framework e IDE.

Isso é possível graças ao Apache Cordova, uma plataforma que fornece APIs JavaScript para desenvolvimento mobile, como se fosse um web site, onde são necessários HTML e CSS para estruturar a interface gráfica.

Com o Cordova é possível escrever uma aplicação e distribuí-la para várias plataformas em compilações diferentes.

Na prática temos é um grande contêiner chamado WebView.

Que funciona como um browser, dentro de uma aplicação nativa que pode ser publicada na app store e funciona tão bem quanto uma aplicação 100% nativa.

Neste modelo o acesso a recursos do dispositivo fica a cargo de plug-ins do Cordova, que são desenvolvidos separadamente, e podem ser incluídos na App para dar acesso via API JavaScript a câmera, acelerômetro, GPS, contatos ou SMS.

2. Facilidade de desenvolvimento

Uma questão relativa, pois depende sobretudo dos skills técnicos do time de desenvolvimento.

É mais comum encontrar no mercado profissionais capacitados a desenvolver com habilidade em JavaScript, HTML e CSS que em Objective-C, por exemplo.

A escolha de aplicações nativas exige dos desenvolvedores (e designers) conhecimento específico na plataforma de desenvolvimento de cada sistema operacional.

No caso do Android, além de dominar o Java, o desenvolvedor precisará conhecer o SDK do Google, uso das APIs, a IDE (geralmente o Eclipse ou Android Studio).

E, os padrões de desenvolvimento de aplicações Android, ainda, como criar interfaces gráficas de qualidade utilizando linguagem XML (Android Layout Markup Language).

No caso da escolha por aplicações híbridas o profissional precisará dominar HTML, JavaScript e CSS.

Além de precisar ter bons conhecimentos em um framework para criação de aplicativos mobile, geralmente Cordova, ou, como o Ionic e AngularJS.

A IDE fica a gosto do desenvolvedor, pois é possível utilizar Eclipse, Visual Studio ou um editor mais simples como Sublime, Brackets ou Atom.

A criação de interfaces gráficas em Apps Híbridas segue o modelo web já conhecido, HTML para estrutura, CSS para estilo e JavaScript para comportamento.

Algo que pode ser realizado de forma simples por um Web Designer.

3. Performance da aplicação

Aplicações mobile híbridas vs nativas: qual possui uma melhor performance?

As aplicações nativas são mais rápidas que aplicações híbridas. Isto é fato.

Muitos desenvolvedores dão bastante atenção a performance das aplicações, sob o argumento de que é fácil perceber se uma aplicação é híbrida ou nativa apenas observando seu desempenho.

Mas, não se pode dizer que isto é verdade.

A verdade é que os usuários não estão interessados em saber se uma aplicação é nativa ou híbrida.

Os usuários estão interessados mesmo se a aplicação facilita sua vida, se é fácil de usar, se atende suas necessidades e se não travam seu aparelho.

Raramente você verá uma reclamação de usuário dizendo: “Desinstalei esta App porque estava muito lenta”.

No entanto, se você precisa desenvolver um jogo, por exemplo, que tem alto uso de gráficos complexos é recomendado usar aplicações nativas,

Embora, seja plenamente possível desenvolver games usando recursos do HTML 5 como canvas e WebGL em aplicações híbridas.

4. Compatibilidade entre dispositivos

Compatibilizar uma aplicação mobile em muitos dispositivos é sempre um desafio.

Principalmente se há um requisito de compatibilidade com aparelhos mais antigos, como iPhone 3GS ou Android Milestone, por exemplo.

A grande dúvida quanto a utilização de aplicações híbridas é se as plataformas de desenvolvimento possuem os requisitos necessários de suporte aos aparelhos.

Sim, este pode ser um problema para alguns tipos de aplicativos.

Mas, para quem usa o Cordova, este problema é amenizado, pois, existem requisitos mínimos, são: iOS 5.x, Android 2.3.x e Windows Phone 8.x.

5. Utilizar as capacidades dos dispositivos

Utilizar geolocalização, câmera, push notification ou qualquer outra capacidade nativa dos aparelhos não é um problema para aplicativos híbridos.

A cada nova versão do Cordova o suporte a esses tipos de funcionalidades melhora.

Através de plug-ins do Cordova é possível criar suporte para itens específicos de cada aparelho, um exemplo é o suporte ao Touch ID que só existe nos iPhones mais novos.

Para Apps que precisam funcionar em várias plataformas em alguns casos é preciso verificar em tempo de execução em que SO está sendo executado.

Ou, se há suporte para determinadas features.

E, antes que você se questione: Isto não é um problema.

Para ter uma ideia de suporte que o Cordova oferece as diversas plataformas existe um guia de compatibilidade muito prático.

6. Distribuir via app stores

Publicar aplicativos em ambos os modelos de desenvolvimento é relativamente fácil.

Não há diferença alguma no processo, pois os frameworks de desenvolvimento de apps híbridas geram os pacotes de publicação normalmente.

No caso de Android, por exemplo, é preciso ter uma conta no Google Play Developer Console, que custa $25,00.

E, para publicar uma app na Apple Store, também é preciso pagar, mas neste caso cerca de $99,00.

Existem diversos cases de aplicativos híbridos em todas as plataformas, confira os links abaixo:

Criar aplicativos híbridos é uma realidade.

As abordagens trazidas no post possuem diversas vantagens competitivas em relação ao desenvolvimento mobile nativo.

Certamente é preciso analisar a estratégia mais adequada para cada cenário.

Mas, acredito que o modelo híbrido é uma boa opção em 90% dos casos de apps para tablet e smartphones.

Espero ter esclarecido um pouco sobre essa incrível tecnologia.

Se você gostou do artigo, compartilhe-o nas redes sociais.

E caso ainda não seja um assinante do blog, cadastre-se em nossa lista VIP para receber as atualizações do blog no seu e-mail.

--

--

Waldyr Felix

No mundo da tecnologia desde 2005 🔸 Ex Microsoft MVP 🔸Eng. de software e gestão de pessoas 🔸 Escrevendo sobre as descobertas e curiosidades do dia a dia🔸