Criando aplicativos para dispositivos móveis com a plataforma do Ionic

Este artigo se mostra muito útil para desenvolvedores que lidam com desenvolvimento móvel e que precisam de maior flexibilidade quando o assunto é desenvolvimento de aplicativos móveis. O paradigma do desenvolvimento móvel sempre traz consigo o desafio de criar rápido, organizado e robustamente aplicativos que se encaixem nos padrões de mercado. Muitas das outras plataformas falham em um destes quesitos e o Ionic vem se mostrando um ambiente mais que capaz de hospedar apps como estes. Neste artigo, veremos como criar aplicativos do zero, desde a montagem do ambiente, entendimento da plataforma como um tudo, prós, contras e dicas de como maximizar o poder de seus apps com o Ionic.

É notável a influência e poderio alcançado por empresas como Apple e Google no que se refere ao mercado de aplicativos móveis, especialmente em se considerando o paralelo hardware (do qual a Apple é totalmente proprietária/fabricante) vs software (onde o Google preferiu abraçar o universo open source e galgar mais espaço “alternativo”). Concorrendo em segundo plano, temos inúmeras outras companhias (como Nokia, Microsoft, LG, etc.) lutando para sobreviver nesse mercado já seleto e galgando forças com sistemas operacionais deveras diferentes, com foco em preços mais acessíveis, otimização de memória e performance, dentre outros, tal como o caso do Windows Phone.

Quando falamos em performance, o nicho de soluções que ataquem isso de uma forma mais hibrida se restringe bastante, principalmente se estivermos falando das gigantes do setor. Ao focar em mercados mais humildes de smartphones, por exemplo, a Mozilla quando lançou o Firefox OS intencionava disponibilizar alternativas mais viáveis a fabricantes que precisam de algo mais universal e ao mesmo tempo leve em comparação com plataformas pesadas como Android ou iOS. E foi uma união interessante a ambas as partes, já que abriu o leque para tecnologias emergentes como o PhoneGap, Cordova e o próprio Ionic. Essas plataformas conseguem não somente ser mais rápidas, de fato, que as outras plataformas móveis, como também se integrar facilmente a elas. E tudo isso graças à HTML5 e os recursos web comumente conhecidos para o desenvolvimento de websites baseados em hiperconteúdo. Com tão somente JavaScript, CSS e HTML, é possível desenvolver praticamente todos os tipos de aplicativos móveis concebidos em plataformas mais robustas, desde apps simples de finanças, processamento e edição de texto, planilhas, até jogos, animação 3D e muito mais. Basta partir do princípio de que todos esses tipos de aplicações já existem no universo web atualmente e, em se tratando das que precisariam de mais poder de processamento (casos em que o Flash, da Adobe, entraria para resolver problemas de animação gráfica, etc.), a HTML5 provê inúmeras alternativas mais leves, padronizadas e performáticas em relação aos antigos concorrentes.

Além disso, a facilidade de desenvolver tais aplicativos, aliada à quantidade de desenvolvedores web que dominam tais tecnologias básicas, constitui palco perfeito para a proliferação da cultura de apps híbridos pelo mundo. Plataformas como Cordova ou PhoneGap que atuam exatamente no foco ao desenvolvimento simplificado de sistemas móveis usando como tecnologias base as mesmas que o Ionic (porém compilando tudo no final para código inteligível pela plataforma onde o app executa), são alvos fáceis de se configurar apps portadas para as demais plataformas, visto que a base é a mesma.

O advento da HTML5

A web está em todo lugar e, nos dias de hoje, quando falamos em web estamos lidando diretamente com a HTML5. A imensa maioria dos sites e aplicações web recentes já faz uso de seus recursos, mesmo que indiretamente. Desde as melhorias na própria linguagem de marcação, suas tags, depreciação de recursos obsoletos, Web sockets, até os controles de formulários mais robustos, gerenciamento de vídeos e frames de páginas internos mais sofisticado, etc. Aliado a isso, temos também a evolução da linguagem JavaScript e dos definidores de estilo do CSS, que acompanham, a ritmo acelerado, os requisitos mais recentes dos desenvolvedores e da comunidade web como um todo.

A ideia de se ter APIs web acessando recursos de um dispositivo, a bel prazer, em alusão ao funcionamento do seu navegador autorizado a acessar livremente recursos do seu desktop, por exemplo, traz um enorme desconforto não só aos usuários como às próprias fabricantes, visto que isso abre espaço a enormes vulnerabilidades de segurança, deixando os dispositivos à mercê de hackers. E isso foi um dos principais motivos para tal bloqueio ser efetuado nos primórdios da vida web-mobile, quando o iPhone, por exemplo, em suas primeiras versões tinha aplicações essencialmente baseadas na web, porém com acesso zero aos recursos de hardware dos dispositivos. Quando a Apple liberou a linguagem de programação do Objective-C para acesso livre a tais recursos de forma segura, um boom de apps e ideias criativas surgiu em detrimento das novas possibilidades geradas por tais circunstâncias. Todavia, o universo dos apps web voltou a ser despriorizado em detrimento de suas limitações, sem atrativos suficientes para a competição com os apps nativos.

Quando falamos em acessar os recursos/serviços do hardware, nos referimos ao acesso à câmera do dispositivo, ou sistema de GPS, por exemplo, envio de um SMS, atualização da agenda de contatos, etc. E são a esses recursos que o Ionic disponibiliza acesso de maneira simplificada, mesmo os apps sendo totalmente web.

Se o leitor tiver interesse em analisar como e onde o projeto do Ionic é desenvolvido, na seção Links encontra-se a URL do projeto oficial no GitHub, no qual você pode contribuir livremente ou dar um fork no projeto e desenvolver suas próprias features particulares.

Primeiros passos

O desenvolvimento e teste de aplicativos com Ionic é muito simples e exige muito pouco no quesito ferramentas. Tudo que precisamos é:

  • O Node.js instalado, bem como seu gerenciador de pacotes npm;
  • Um simulador de alguma plataforma, como Android ou iOS (apenas para Mac). Lembrando que este item é mais opcional, dado q ...
    Quer ler esse conteúdo completo? Tenha acesso completo