Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

  #Este é um post fechado

Este post está disponível para assinantes da Mobile magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!



Artigo WebMobile 29 - Ant + Antenna com Java ME

Veremos uma aplicação prática de reuso de código utilizando Ant e Antenna para customizar aplicações Java ME. Falaremos um pouco dessas tecnologias e suas configurações a fim de obtermos versões da mesma aplicação para vários aparelhos a partir de um único código-fonte. Por fim, mostraremos um exemplo de como construir uma aplicação utilizando essas ferramentas.






Java Mobile
Ant + Antenna com Java ME
Reuso de código entre aparelhos e otimização do processo de deploy

Uma das tarefas mais árduas no desenvolvimento de software para dispositivos móveis é escrever código que, além de prezar pelo bom gerenciamento de memória possa prover portabilidade a uma grande ersidade de fabricantes e modelos de aparelhos para os quais se desenvolve. Tamanho de tela, quantidade e disponibilidade de teclas, formato de áudio e vídeo suportados são algumas das características que variam bastante entre fabricantes e modelos. Mas como escrever um código que esteja preparado para todos esses tipos de variações? A utilização da ferramenta Ant juntamente com o Antenna é uma saída para esse tipo de problema.
A maioria das empresas que trabalham com o desenvolvimento mobile recorre a esse “artifício” para facilitar o processo de entrega (deploy) e tornar o seu código reutilizável, visando atingir o maior número de dispositivos possível. A Figura 1 mostra um esquema de como funciona o processo de deploy de uma aplicação Java ME com Ant e Antenna.
 
Figura 1. Etapas do deploy de uma aplicação Java ME com Ant/Antenna.

Conforme podemos ver na figura, o Ant recebe um arquivo XML e, baseado nesse arquivo, várias ações podem ser executadas. Veremos cada uma dessas ações mais adiante no artigo.
Termos e definições
Antes de continuarmos, vamos definir o que faz cada etapa do processo ilustrado na Figura 1:
•    Pré-processar: realiza uma varredura do código-fonte antes da compilação, que permite incluir diretivas de pré-processamento em código Java, similares às diretivas de compilação usadas na linguagem C, que de uma maneira geral definem partes do código que devem ou não ser compiladas;
•    Compilar: é o processo de gerar os bytecodes (arquivos *.class) Java usando um compilador como o javac;
•    Gerar JAD: é a criação do arquivo JAD (Java Application Descriptor) da aplicação;
•    Gerar JAR: empacota todos os bytecodes e os recursos da aplicação (imagens, sons, etc.) em um arquivo JAR (Java ARchive);
•    Obfuscar: reduz o tamanho do JAR final, renomeando classes, atributos e métodos para nomes menores, dificultando o entendimento do código caso seja submetido à engenharia reversa. Além disso, este processo remove classes, métodos, atributos e variáveis não utilizadas;
•    Pré-Verificar: A verificação dos bytecodes é feita em dois locais: na máquina do desenvolvedor e no aparelho. O processo de pré-verificação é realizado na máquina do desenvolvedor e consiste na inserção de anotações nas classes para reduzir o tempo e a memória necessários para realização da segunda etapa. Essas anotações são chamadas de “stack maps”, e melhoram o desempenho da execução de operações na pilha do interpretador. A segunda parte é realizada dentro do aparelho, onde os bytecodes são validados quanto a algum acesso indevido que viole a segurança da KVM (Kilobyte Virtual Machine).
Ant
O Ant é uma ferramenta para automatização de scripts desenvolvida pela Apache Foundation. Ela é similar ao make (usado na compilação de programas escritos na linguagem C, por exemplo), mas escrita em Java e independente de plataforma. Baseia-se em tarefas a serem executadas e descritas em um arquivo XML. Esse XML, chamado de build file, normalmente é nomeado como build.xml, e assim o  referenciaremos daqui para frente, é composto basicamente por quatro elementos:
•    project: elemento raiz do build file, representa o projeto a ser executado pelo Ant;
•    property: parâmetros que passam valores a serem utilizados nas tarefas. Servem como variáveis dentro do build.xml. Essas propriedades também podem ser carregadas a partir de arquivos .properties;
•    target: bloco de tarefas a ser executado;
•    task: tarefa a ser executada.

Cada target pode conter várias tasks, e essas estão mapeadas em tags XML que executam uma tarefa específica. A Listagem 1 mostra um exemplo simples de um build.xml para uma aplicação Java SE.

Listagem 1. Conteúdo do arquivo build.xml usando apenas Ant.
1. <?xml version="1.0"?>
2. <project name="OlaMundo" default="executar">
3.   <property name="dirDestino" value="classes"/>
4.   <property name="nomeDoJar" value="ola.jar"/>
5.   <target name="limpar">
6.      <delete dir="${dirDestino}"/>
7.      <delete file="${nomeDoJar}"/>
8.   </target>
9.   <target name="compilar" depends="limpar">
10.     <mkdir dir="${dirDestino}"/>
11.     <javac srcdir="." destdir="${dirDestino}"/>


ATENÇÃO! A exibição deste artigo foi interrompida.


  #Este é um post fechado

Este post está disponível para assinantes da Mobile magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!







    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Autor
Silvio Paganini

(Sem mini-bio cadastrado)




Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível para assinantes da Mobile magazine DIGITAL ou para quem possui Créditos DevMedia.

  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 4,90 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ 1,96 (assinante) ou R$ 2,45 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ 1,47
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03