APPs híbridos com Cordova

em Desenvolvimento, Geral.

Desde que tive meu primeiro smartphone, sempre quis entender como os aplicativos eram feitos. Eu achava aquilo um máximo! Por isso, ainda na faculdade, em minhas horas vagas, depois que eu aprendi a programar, sempre ficava me aventurando no mundo do Android. Aprendi o suficiente para saber fazer aplicativos básicos e até elementos um pouco mais avançados.

Mas ainda não era suficiente, porque eu queria saber como desenvolver aplicativos para iOS e Windows Phone (sim, acreditem :D) também. Então naquela época eu fiz algumas aulas de Objective C e de C# e acabei até fazendo meus primeiros aplicativos para as duas plataformas.

O problema é que é muito complicado você manter o mesmo APP em três linguagens diferentes e eu não tinha vontade para aprender Objective C (com seus infinitos colchetes) e nem memória no PC para manter o Visual Studio e programar com C# :D

Foi aí que em um belo dia ouvi falar do PhoneGap, basicamente um framework mobile multiplataforma baseado nas tecnologias padrões da web. Isso significa que o mesmo código de um aplicativo rodaria nas três plataformas que eu mencionei e em mais algumas que o Phonegap dava suporte. Sensacional, não?

 

A tecnologia

O que deu vida ao PhoneGap foi um conjunto de APIs móveis open-sources chamado de Apache Cordova, gerenciado pela Apache foundation.

Basicamente, o que o Cordova faz é prover APIs que permitem acessar os elementos nativos dos dispositivos móveis e computadores tais como, câmera, gps, NFC, áudio, etc., via JavaScript.

Como é o Cordova que vai fazer com que nossas chamadas via Javascript sejam interpretadas por cada uma das plataformas que desejarmos, temos aí uma maneira universal para programar nossos apps sem termos que nos preocupar com Java, Swift ou C#, mas somente com HTML, CSS e qualquer framework JavaScript que estivermos dispostos a usar.

Uma vez combinado com um framework UI (Interface de usuário), as possibilidades para criar aplicativos utilizando somente as linguagens web que mencionei, eram infinitas. Essa modalidade de aplicativos ficou então conhecida como aplicativos híbridos.

Desde os tempos iniciais do PhoneGap até os dias de hoje, a plataforma evoluiu bastante e já é possível utilizá-la inclusive para criar aplicativos para Windows, Ubuntu e OS X, ultrapassando as barreiras do mobile.

 

Frameworks e mais frameworks

Falando em frameworks, o PhoneGap já não está mais sozinho no universo Cordova. Existe um verdadeiro ecossistema de frameworks open-source que permitem que você construa aplicativos híbridos.

Um deles é o ionic, um dos melhores atualmente. Ele foi construído utilizando Angular e é uma plataforma que já permite até mesmo integrar serviços como push notifications e analytics.

A grande vantagem do ionic é a extensa comunidade que ele já possui e com isso a vasta gama de elementos UI que ele possui. Só para você ter uma ideia, enquanto escrevia esse artigo, o projeto já tinha mais de 27 mil estrelas no GitHub.

Além do ionic, existem diversos outros que talvez você possa se interessar: jQuery Mobile, Sencha Touch, Ratchet e Lungo. Esses são os que eu conheço, mas existem muitos outros por ai.

 

Nativo X Híbrido

Eu já falei da principal vantagem que vejo em se fazer aplicativos híbridos: a complexidade de desenvolvimento multiplataforma que é bastante facilitada. Ainda assim, pense que é preciso uma equipe com expertise nas plataformas para as quais iremos desenvolver por conta dos testes que realizaremos. Afinal, garantir o funcionamento do produto em todas as plataformas continua sendo uma obrigação de quem desenvolveu o produto, não é mesmo?

É por isso que por mais que diminua a complexidade de desenvolvimento, o custo de desenvolver para múltiplas plataformas continuará sendo alto em outros aspectos. Nós sabemos que desenvolver software de qualidade ainda é uma tarefa complexa e cara. Mesmo assim é possível utilizar tecnologias híbridas para desenvolver um software mobile multiplataforma de qualidade; basta estarmos dispostos a pagar o preço para isso.

Atualmente, muitas empresas utilizam os APPs híbridos como MVP (Minimum Viable Product) porque conseguem desenvolver rapidamente os aplicativos para várias plataformas, a fim de testá-los e validá-los com seu público-alvo. É realmente uma das finalidades que eu indicaria para que você utilizasse essa tecnologia, pois a um custo baixo, você poderia errar ou acertar rapidamente (agora eu vi vantagem :D).

Muitos APPs híbridos acabam virando nativos mais tarde, quando atingem uma base considerável de usuários, muitas vezes por conta de performance. Eu não vou entrar muito no assunto de performance porque os softwares como o Cordova estão cada vez mais evoluídos e já permitem, como disse anteriormente, a utilização de recursos nativos dos aparelhos em contrapartida dos apps “fakes” feitos com WebView.

Mas é fato que se você precisar desenvolver um código nativo (em C por exemplo), como muitas empresas de games precisam, ou se precisar de uma performance absurda, então realmente escolher o híbrido não seria uma boa ideia. É melhor então começar a pensar em montar suas equipes para cada uma das plataformas que pretende atuar.

E você, o que acha? Nativo ou híbrido?

Dúvidas? Deixe um comentário, que eu terei prazer em responder! Até a próxima!

Você também pode gostar