java me simples e fácil com j2me polish

Post on 12-Apr-2017

2.243 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Java ME simples e fácil com J2ME Polish

Maurício Linhares

Write once, run anywhereÉ

verdade! Eu juro!

Tem telas de tamanhos diferentes...

Conjuntos de cores diferentes...

Toolkits gráficos diferentes...

Teclados diferentes...

Conexões a rede diferentes...

Os celulares...

Bibliotecas disponíveis diferentes...

Capacidades de memória diferentes...

Dispositivos diferentes...

Usuários diferentes...

Os celulares tem...

E você tem um chefe...Essa coisa tem que rodar em 30 celulares diferentes!

...e a aplicação vai ficar horrível;

...e você vai ter que escrever um monte de código pra fazer besteiras (ArrayList? Esqueça);

...e você vai ter que cuidar pra não usar nenhum dispositivo (Áudio? Vídeo? GPS? Esqueça);

...e quem garante que isso vai resolver? Talvez você ainda tenha que fazer um build por celular...

Você pode fazer tudo usando só MIDP 1.0

Olha só que beleza!

A quem eu vou vender isso?

Mas não tenha medo!É, uma

tartaruga, sacou?

E o que é o J2ME Polish?

Um conjunto de bibliotecas open source e ferramentas para facilitar o desenvolvimento de aplicações Java ME;

Baseada no Ant (são scripts do Ant);

Seleção de dispositivos a serem utilizados;

Pré-processamento (diretivas de compilação);

Compilação de pre-verificação;

Ofuscadores de código;

Geração de arquivos JAD e JAR para CADA dispositivo de forma automática;

Ferramenta de build

<deviceRequirements if="test"> <requirement name="Identifier" value="Nokia/6600" />

</deviceRequirements>

<deviceRequirements unless="test"> <requirement name="JavaPackage" value="nokia-ui" /> <requirement name="BitsPerPixel" value="4+" />

</deviceRequirements>

Definindo dispositivos e capacidades

//#if !basicInput && (polish.hasPointerEvents) doSomething();

//#if polish.BitsPerPixel >= 8 doSomethingColorful();

//#else doSomethingDull();

//#endif //#elifdef doWildStuff

doWildStuff(); //#endif

Fazendo compilação condicional

Contém a maior parte dos dispositivos com suporte a Java ME;

Guarda as características de cada dispositivo;

Você pode utilizar o dispositivo junto com as diretivas de compilação;

Banco de dados de dispositivos

Estilos definidos com CSS;

A aplicação funciona com “temas” que podem ser alterados sem a necessidade de alterar o código;

Funcionam em MIDP 1.0 e 2.0 (e você ainda pode usar os componentes do 2.0 no 1.0, como os CustomItems);

Biblioteca de componentes gráficos

Uma nova fonte, a BitMapFont;

Fundos animados, menus animados, “canvas” em tela cheia, novos componentes;

Otimizados para dispositivos específicos;

Biblioteca de componentes gráficos

Quer ver uma aplicação gráfica?

Você pode usar a engine de jogos do MIDP 2.0 em dispositivos MIDP 1.0;

A engine tem diversas otimizações específicas para melhorar a performance;

Você não precisa reescrever o código para diferentes dispositivos;

Engine de jogos

Suporte completo a I18N sem nenhum overhead para o celular;

A localização pode ser feita diretamente no código antes de ser compilado ou pode ser alterada dinamicamente na aplicação;

Imagens, sons, formatações, tudo pode ser incluído na localização;

Biblioteca de internacionalização e localização

Salve objetos como se eles fossem serializados, sem toda a complicação do RMS;

Para tornar um objeto serializável basta defini-lo como Serializable;

Todo o código necessário para fazer a serialização e carregar o objeto novamente é gerado automaticamente;

Serialização de objetos em dispositivos com suporte a RMS

Usar generics em qualquer uma das coleções disponíveis;

Usar o loop for-each;

Usar enums;

Suporte a auto-boxing;

Suporte a sintaxe do Java 5

Você pode invocar métodos em objetos remotos como se estivesse utilizando RMI;

Só é necessário ter um servidor web Java comum;

Todas as chamadas são feitas via HTTP pelo celular;

No servidor você simplesmente implementa um servlet;

Invocação remota de métodos

BitMapFont;

ArrayList;

Suporte a ponto flutuante em celulares CLDC 1.0;

TextUtil – Utilitários para Strings;

Classes utilitárias e complementos

As novidades do J2ME Polish ocupam espaço e trazem novas classes para a máquina virtual do dispositivo;

A licença básica é GPL, você pode pagar pela licença comercial ou entrar em um modo de licença cooperativa;

É um bocado de coisa pra se aprender =P

Mas nem tudo são flores...

JavaFX Mobile;

Adroid (Google);

E o que ficou fora disso tudo?

Dúvidas?

top related