Semana passada aproveitei o feriado e finalizei meu primeiro aplicativo para Android: um sistema de busca a licitações publicadas. É um aplicativo simples que chama um serviço remoto e recebe o resultado em formato json e apresenta em uma lista:
Se o usuario tocar em um dos itens, busca-se o conteúdo em uma nova página através de outro serviço json:
Esse aplicativo foi desenvolvido com a intenção de rodar também em iphone e Windows, então quando selecionei o ambiente de desenvolvimento tive a questão 'multiplataforma' como premissa. Optei por usar o Apache Córdova com JQuery Mobile, fazendo o build através do Adobe Phonegap Build.
O Córdova é uma API javascript com foco nos recursos dos smartphones/tablets. Além dos recursos básicos como sistema de arquivos e persistência baseada em SQL e par chave/valor, têm-se também acesso aos recursos específicos tais como câmera, acelerômetro, geolocalização, etc. A aplicação que usa o Córdova dispara um navegador HTML 5 logo que inicia e tudo roda esse navegador. Ele não tem recursos visuais, então é necessário o uso de outro framework para essa parte.
Enquanto o Córdova foi uma surpresa agradável, o JQuery Mobile ficou devendo no quesito consistência.... mas isso é meio que consequência da programação 'flexível' do javascript. Algumas coisas funcionaram bem, outras precisaram de hacks... o que me incomodou foi que alguns desenvolvedores comentam sobre esses hacks de forma normal... como se fosse normal ter que usar hacks para o ambiente funcionar. Não tenho certeza se o problema é do framework ou da documentação. Dou um desconto em função da histórica diferença de comportamento entre navegadores. Nas próximas versões vou rever se continuo com ele ou mudo para outro framework.
O build de aplicações usando o Córdova pode ser feito usando as ferramentas de desenvolvimento padrão do Android (e outros) ou pode-se usar um ambiente de build mantido pela Adobe, o Adobe Phonegap Build. Muito legal e muito simples, pois ele puxa os fontes do Github (ou você faz o upload de um .zip) e ele faz o build, deixando o pacote disponível para download já para as diversas plataformas suportadas (Android, iPhone, Windows, Blackberry, etc.).
Um comentário:
Muito bom hein Walter!!!
Ótimas dicas como sempre.
Postar um comentário