#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.
Mobile magazine 29
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Mobile magazine 29
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Mobile magazine 29
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!
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!

Você está em:
canal mobile

Estudo comparativo entre banco de dados IBM Informix e Microsoft SQL

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