Por que eu devo ler este artigo:O artigo mostra de forma prática a construção de uma aplicação mobile híbrida integrada à API nativa do Android. Para isso, será considerado o Ionic Framework, que vem ganhando espaço no mercado.

Também será apresentado o conceito de binding JavaScript code to android code. Todo desenvolvedor mobile deve estar familiarizado com as tecnologias apresentadas neste artigo se deseja se tornar um bom profissional. O mundo da computação não separa mais mobile e web como duas coisas distintas, mas sim como plataformas que mantêm um elo muito forte. Será visto neste artigo como tirar proveito deste cenário.
Autores: Ricardo Ogliari e Heider Lopes

O desenvolvimento de aplicativos para a plataforma móvel alcançou outro patamar nos últimos anos. A discussão por melhor usabilidade, mais chances de se destacar nos cerca de 3 milhões de aplicativos nas stores da Apple e Android e o problema do custo em manter times distintos de desenvolvimento para as várias plataformas estão em destaque.

A discussão em torno do tempo de entrega e custo talvez seja a mais recorrente ultimamente. E dentro deste contexto, alguns conceitos ganharam força, como aplicativos nativos, web apps e aplicativos híbridos.

Antes mesmo de começar a discutir sobre Ionic (uma plataforma para criação de aplicações híbridas), é necessário distinguir corretamente estes três conceitos.

Um aplicativo nativo utiliza a própria linguagem “oficial” da plataforma alvo, bem como seu SDK (Standart Development Kit).

Por exemplo, para o desenvolvimento de Android é utilizado o Android Studio ou o ADT Bundle. Ambos IDEs (Integrated Development Environment) que trabalham com o Android SDK e cujo o desenvolvimento das aplicações é, na grande maioria dos casos, uma mistura da linguagem de programação Java e da linguagem de marcação XML.

O ponto positivo desta abordagem é ter um controle muito maior em relação a plataforma adjacente. Outro ponto interessante é a própria preferência dos fabricantes e detentores das lojas virtuais para esta abordagem.

O fato da aplicação ser instalada no dispositivo também é um diferencial uma vez que a presença constante no dispositivo permite uma relação mais próxima entre a aplicação e o usuário.

O ponto negativo do aplicativo nativo é a necessidade de se ter várias equipes no caso de desenvolvimento multiplataforma. Estas equipes elevam o custo e prazo do projeto.

Além disso, o gerenciamento destes processos é mais complicado, tornando as entregas de novas versões mais segmentadas e intermitentes. Em alguns casos, o conhecimento das equipes não é balanceado, logo, a entrega das versões fica fragmentada e não simultânea.

Já o WebApp trata da personalização de uma página quando ela é acessada por um dispositivo móvel. Um bom exemplo são sites que, quando acessados por um dispositivo móvel, o usuário é direcionado para outra página.

O ponto positivo do WebApp é a criação de sites multiplataforma, ou seja, independente de quem está fazendo o acesso, as páginas entregues serão quase as mesmas.

Com isso, o custo e tempo do projeto pode cair drasticamente. A entrega de novas versões também é muito simplificada. Basta atualizar as páginas no servidor web e todas as próximas requisições HTTP receberão o novo projeto.

Como ponto negativo temos a obrigação do usuário abrir um browser para ter acesso ao webapp. Tudo bem que o HTML5 já pode fazer cache de alguns arquivos da página e mantê-los persistentes em possíveis acessos off-line.

Porém, o HTML5 ainda está em trabalho, sendo assim, não há uma garantia 100% de que todos os browsers agem da mesma forma. Aliás, a falta de padrões é justamente um problema nesta abordagem. Além disso, a não instalação de um aplicativo deixa o vínculo usuário-aplicação mais fraco.

Por fim, um aplicativo híbrido tenta unir o melhor dos dois mundos. O projeto é criado com a tríade HTML5, CSS3 e JavaScript. Depois disso, é gerado um aplicativo que pode ser colocado na store da sua plataforma preferida e baixado e instalado pelo usuário. Na aplicação, a forma usada é um componente Web View que encapsula as páginas e as apresenta no formato de uma aplicação nativa.

E ela tem pontos negativos? Pode parecer que não, mas tem. Os browsers e a falta de padrões continuam nesta abordagem. Além disso, por mais avançados que os frameworks híbridos estejam, esta abordagem sempre será um pouco mais lenta que aplicativos nativos e não terá o mesmo acesso que a aplicação nativa teria.

Independente do julgamento do leitor sobre as três possibilidades, é bom lembrar que não existe a opção perfeita, que não existe a “bala de prata”. Dependendo do projeto, custo, público alvo, tempo, dinheiro em caixa e vários outros atenuantes, é melhor uma forma ou outras.

Mas, o que é visto no mercado é uma demanda crescente por aplicativos híbridos. Talvez as duas principais razões sejam a maior quantidade de desenvolvedores web que desenvolvedores Java e SWIFT, por exemplo.

Ou ainda, a possibilidade de reaproveitar projetos web nas aplicações. Finalmente, o grande impulso que o HTML5 teve no seu início despertou o interesse de desenvolvedores e empresas.

Neste artigo será utilizado o framework Ionic para ...

Quer ler esse conteúdo completo? Tenha acesso completo