Phonegap

Arquitetura de uma aplicação em Apache Cordova “Phonegap” para Multiplos projetos Mobile

cordova_logo

Criar uma App móvel com tecnologia Web parece tirar leite de pedra quando se tem disponível um SDK inteiro para você explorar. E eu concordo com você quando pensa nisso. Já que existe aquela grande batalha entre “O que devo usar App Web ou App Nativo?”. Não tenha dúvida que quem lhe escreve também tem esse tipo de dúvida, afinal assim como você eu sou desenvolvedor. E é gostoso compartilhar aquilo que você desbrava, especialmente em português; Em fim, é uma gama de dúvidas e arrodeios que você faz para chegar a uma solução final e entregar o produto para seu cliente.

Esse é mais um post com uma abrangência geral do que um bem específico, já que isso é um divisor de opiniões, eu preferir expor as minhas escolhas e de uma maneira geral ver como eu encaro isso.

Para esclarecer melhor algumas questões que eu tive e provavelmente você terá, faça um check-list do que é importante na hora de partir para as discussões móveis dentro de sua empresa ou dentro de si mesmo, eis algumas de suas perguntas.

– Quero expor minha App que extende um serviço Web.
– Quero criar uma App que use serviços Web e seja disponível para todas as plataformas populares “ios e Android”.
– Minha empresa precisa criar uma App especialmente para tomadores de decisão.
– Minha App precisa comunica-se com um dispositivo feito pela minha empresa
– Preciso criar um Jogo em 3D que não consuma tanto a bateria do aparelho.
– Quero criar uma App responsiva que funcione para N telas e N resoluções “Ninja Style”.
– Etc.

Dentre várias outras Apps, a sua não é diferente da Maioria, o que importa para quem usa sua App é a qualidade final do produto, se ela atinge o objetivo principal e se a UX é bacana.

É uma área bem ampla que gera horas e horas de discussões, o melhor a fazer nesses casos é usar o bom senso e uma rápida pesquisa na internet para ver o que é tendência e assim tirar melhor proveito do que já foi discutido.

Por hora, essas são as dicas que você pode aproveitar para planejar sua estratégia móvel daqui para frente. “Vamo sí bora” ao que interessa.

Arquitetar um projeto é simplesmente organizar o que você precisa e aonde você quer chegar, simplesmente é seguir a planta de uma casa antes de você construir uma, esboçar o que você precisa para concluir o projeto.

No Apache Cordova “PhoneGap”, você precisa tomar uma decisão quanto a utilizá-lo, eu já comentei antes sobre qual a real vantagem do PhoneGap. O que parece moleza à primeira vista, pode-se levar um bom tempo para concluir.

Faça um check-list do que você precisa, digamos que eu tenho um App que precisa dos seguintes itens:

  • App para Android
  • App para iOS
  • Formulários e Relatórios em gráficos
  • Efeitos de transição de tela
  • Chamar metodos em um serviço Restful
  • Fazer persistência local
  • Guardar informações de posição geográfica

O Apache Cordova consegue atingir todas essas funções, e você sabendo programar em CSS3, HTML5 e JS você consegue com facilidade atingir esse objetivo. A produtividade pode competir diretamente com o SDK nativo, isso pode virar assunto para outro post de pos e cons, por hora ficamos com a arquitetura.

Feito a checagem do que preciso, é hora de começar a criar o projeto, as bibliotecas que preciso são “Gestos, Web Storage/SQLite, GPS, RestFul”. Biblioteca para isso é que não falta. As que eu gostei bastante foram.  HammerJS, jStorage, ZeptoJS, AngularJS.

Bibliotecas em seus devidos lugares, agora é partir para a estrutura necessária. Compartilho aqui com você a estrutura usei em um projeto recente.

 Estrutura de pastas

 Configurações da plataforma

Se você seguiu o get Started to Cordova, provavelmente você terá todas as funções do aparelho habilitadas, isso pode assustar um pouco seu usuário e isso vai levar mais tempo para ser analisado por algumas lojas se sua App precisa daquilo ou não, como no caso da Apple Store. O segredo é deixar apenas habilitado o que realmente você precisa na App.

 

Prototipar ou criar o Wireframe de sua App

Elaborar uma App, não vai só de uma boa idéia, é necessário planejar o que ela vai ter, navegação, carregamentos, efeitos, reposição. E isso demanda um workflow que só vai ser possível se você prototipar ou fazer o wireframe dela. Ferramentas boas para isso tem diversas, eu gosto muito de utilizar o Adobe Fireworks, e caso você não tenha o Fireworks, você pode usar o Moqups, Porém se em seu caso essa App, demanda muita gente e muitas reuniões, sugiro os templates que a Smashing Magazine disponibilizou.

Inspire-se

Seja em um copo de vinho, ou na música do Michel Té logo, a inspiração tem que vim, o Dribbble e o Behance é uma baita fonte de inspiração. Para aquelas dúvidas de como apresentar a informação.

Testes outras Apps e veja como elas deram com um problema em particular que você vai enfrentar na sua.

Pratique

Depois que criar a App, dê a alguém que não tem muita habilidade na tela de um celular, em especial a uma criança, eu uso minha sobrinha como cobaia sempre que possível, e os insights que ela me fornece não tem preço, especialmente quando se fala em joguinho.

Tenha em mente que sua App se não for jogo, precisa funcionar com 1 dedo e que se encaixe em um denominador comum dos dedos em 44px. Assim como as fontes, no máximo 1.5em é o suficente para que seu App saia ganhando a atenção do usuário.

 

Colabore com os bugs

Apache Cordova é um projeto Open-source e você desenvolvedor tem a obrigação moral de devolver aquilo que você descobre, se achar erro, divulgue na lista oficial, se achou uma solução para o erro comite ela. Assim como em qualquer outro projeto open-source você está tornando seu trabalho um pouco mais fácil, devido o esforço de uns, então nada mais justo do que ajudar outros também a terem menos problemas, torne o mundo um pouco melhor.

 

Até o próximo.

 

 

2 thoughts on “Arquitetura de uma aplicação em Apache Cordova “Phonegap” para Multiplos projetos Mobile

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios são marcados com *