Tecnologia do Blogger.
RSS

[androidbrasil-dev] Aquery - Jquery para Android

http://www.infoq.com/br/news/2012/04/AQuery 


A popularidade do jQuery vem da redução significativa da quantidade de código necessária para desempenhar tarefas assíncronas e manipular o DOM. O novo projeto open source Android Query (AQuery) objetiva fazer o mesmo para os desenvolvedores que trabalham com Android. O exemplo a seguir está disponível no site do projeto e dá uma ideia da redução do código obtida com o AQuery:

Antes:

Depois:

O AQuery simplifica a chamada aos tratamentos de eventos. Em vez do desenvolvedor construir uma interface ou classe anônima, basta que escreva corretamente o nome do método de evento:

  aq.id(R.id.button).clicked(this, "buttonClicked");  

A fragmentação, causada pelos diferentes tamanhos de telas e versões de APIs no Android, dificulta o desenvolvimento para os dispositivos. O AQuery resolve alguns desses problemas encapsulando as partes que mudam em métodos ou classes. Por exemplo, o método aq.hardwareAccelerated11() verifica se o dispositivo suporta a API na versão 11 e permite habilitar a aceleração por hardware se for apropriado.

Quando se trabalha com diferentes tamanhos de telas, muitas vezes se inicia criando uma versão para tablet e então se remove ou reorganiza os controles até que encaixem em uma tela de celular. Desta forma, é necessário inspecionar visualmente a árvore de controles que foi criada no arquivo AXML, antes de tentar manipular os códigos-fonte. O AQuery permite que fazer verificações chamando métodos encadeados; por exemplo:

  aq.id(R.id.address).text(name).background(R.color.red).textColor(R.color.black).enabled(true).visible().clicked(this, "addressClicked");  

Se os endereços dos controles não existirem, serão ignorados todas as atribuições e tratamentos de evento seguintes. Dessa forma a depuração do código fica mais difícil, mas em compensação reduz-se drasticamente o número de linhas necessárias para criar o método onCreate().

O AQuery também facilita o processo de requisições HTTP assíncronas, ele suporta facilmente operações POST simples e multipartes; também pode aceitar dados binários, e em JSON, HTML e XML. Inclui também suporte diferenciado para imagens, em que apenas uma linha pode ser usada para baixar uma imagem, fazer cache e carregar a imagem em um controle.




--
Danilo Monteiro Ribeiro
"O único lugar onde o sucesso vem antes do trabalho é no dicionário."
"Faça com que seus SONHOS tenham INVEJA de seu FUTURO"
Graduando em Sistemas de Informação
http://lattes.cnpq.br/9054177799378154




  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário