Java ME simples e fácil com J2ME Polish<br />Maurício Linhares<br />
Writeonce, runanywhere<br />É verdade! <br />Eu juro!<br />
Tem telas de tamanhos diferentes...<br />Conjuntos de cores diferentes...<br />Toolkits gráficos diferentes...<br />Teclad...
Bibliotecas disponíveis diferentes...<br />Capacidades de memória diferentes...<br />Dispositivos diferentes...<br />Usuár...
E você tem um chefe...<br />Essa coisa tem que rodar em 30 celulares diferentes!<br />
...e a aplicação vai ficar horrível;<br />...e você vai ter que escrever um monte de código pra fazer besteiras (ArrayList...
Olha só que beleza!<br />
A quem eu vou vender isso?<br />
Mas não tenha medo!<br />É, uma tartaruga, sacou?<br />
E o que é o J2ME Polish?<br />Um conjunto de bibliotecas open source e ferramentas para facilitar o desenvolvimento de apl...
Baseada no Ant (são scripts do Ant);<br />Seleção de dispositivos a serem utilizados;<br />Pré-processamento (diretivas de...
&lt;deviceRequirementsif=&quot;test&quot;&gt; <br />	&lt;requirement<br />name=&quot;Identifier&quot; value=&quot;Nokia/66...
//#if !basicInput && (polish.hasPointerEvents) <br />doSomething(); <br />//#ifpolish.BitsPerPixel &gt;= 8 doSomethingColo...
Contém a maior parte dos dispositivos com suporte a Java ME;<br />Guarda as características de cada dispositivo;<br />Você...
Estilos definidos com CSS;<br />A aplicação funciona com “temas” que podem ser alterados sem a necessidade de alterar o có...
Uma nova fonte, a BitMapFont;<br />Fundos animados, menus animados, “canvas” em tela cheia, novos componentes;<br />Otimiz...
Quer ver uma aplicação gráfica?<br />
Você pode usar a engine de jogos do MIDP 2.0 em dispositivos MIDP 1.0;<br />A engine tem diversas otimizações específicas ...
Suporte completo a I18N sem nenhum overhead para o celular;<br />A localização pode ser feita diretamente no código antes ...
Salve objetos como se eles fossem serializados, sem toda a complicação do RMS;<br />Para tornar um objeto serializável bas...
Usar generics em qualquer uma das coleções disponíveis;<br />Usar o loop for-each;<br />Usar enums;<br />Suporte a auto-bo...
Você pode invocar métodos em objetos remotos como se estivesse utilizando RMI;<br />Só é necessário ter um servidor web Ja...
BitMapFont;<br />ArrayList;<br />Suporte a ponto flutuante em celulares CLDC 1.0;<br />TextUtil – Utilitários para Strings...
As novidades do J2ME Polish ocupam espaço e trazem novas classes para a máquina virtual do dispositivo;<br />A licença bás...
JavaFXMobile;<br />Adroid (Google);<br />E o que ficou fora disso tudo?<br />
Dúvidas?<br />
Próximos SlideShares
Carregando em…5
×

Java ME simples e fácil com J2ME Polish

2.262 visualizações

Publicada em

Apresentação sobre as facilidades que o J2ME polish traz para o desenvolvimento de aplicações para dispositivos móveis.

Publicada em: Tecnologia, Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Java ME simples e fácil com J2ME Polish

  1. 1. Java ME simples e fácil com J2ME Polish<br />Maurício Linhares<br />
  2. 2. Writeonce, runanywhere<br />É verdade! <br />Eu juro!<br />
  3. 3. Tem telas de tamanhos diferentes...<br />Conjuntos de cores diferentes...<br />Toolkits gráficos diferentes...<br />Teclados diferentes...<br />Conexões a rede diferentes...<br />Os celulares...<br />
  4. 4. Bibliotecas disponíveis diferentes...<br />Capacidades de memória diferentes...<br />Dispositivos diferentes...<br />Usuários diferentes...<br />Os celulares tem...<br />
  5. 5. E você tem um chefe...<br />Essa coisa tem que rodar em 30 celulares diferentes!<br />
  6. 6. ...e a aplicação vai ficar horrível;<br />...e você vai ter que escrever um monte de código pra fazer besteiras (ArrayList? Esqueça);<br />...e você vai ter que cuidar pra não usar nenhum dispositivo (Áudio? Vídeo? GPS? Esqueça);<br />...e quem garante que isso vai resolver? Talvez você ainda tenha que fazer um build por celular...<br />Você pode fazer tudo usando só MIDP 1.0<br />
  7. 7. Olha só que beleza!<br />
  8. 8. A quem eu vou vender isso?<br />
  9. 9. Mas não tenha medo!<br />É, uma tartaruga, sacou?<br />
  10. 10. E o que é o J2ME Polish?<br />Um conjunto de bibliotecas open source e ferramentas para facilitar o desenvolvimento de aplicações Java ME;<br />
  11. 11. Baseada no Ant (são scripts do Ant);<br />Seleção de dispositivos a serem utilizados;<br />Pré-processamento (diretivas de compilação);<br />Compilação de pre-verificação;<br />Ofuscadores de código;<br />Geração de arquivos JAD e JAR para CADA dispositivo de forma automática;<br />Ferramenta de build<br />
  12. 12. &lt;deviceRequirementsif=&quot;test&quot;&gt; <br /> &lt;requirement<br />name=&quot;Identifier&quot; value=&quot;Nokia/6600&quot; /&gt;<br />&lt;/deviceRequirements&gt; <br />&lt;deviceRequirementsunless=&quot;test&quot;&gt; <br />&lt;requirement<br />name=&quot;JavaPackage&quot; <br />value=&quot;nokia-ui&quot; /&gt; <br />&lt;requirement<br />name=&quot;BitsPerPixel&quot; <br />value=&quot;4+&quot; /&gt;<br />&lt;/deviceRequirements&gt;<br />Definindo dispositivos e capacidades<br />
  13. 13. //#if !basicInput && (polish.hasPointerEvents) <br />doSomething(); <br />//#ifpolish.BitsPerPixel &gt;= 8 doSomethingColorful(); <br />//#else<br />doSomethingDull(); <br />//#endif<br />//#elifdefdoWildStuff<br />doWildStuff(); <br />//#endif<br />Fazendo compilação condicional<br />
  14. 14. Contém a maior parte dos dispositivos com suporte a Java ME;<br />Guarda as características de cada dispositivo;<br />Você pode utilizar o dispositivo junto com as diretivas de compilação;<br />Banco de dados de dispositivos<br />
  15. 15. Estilos definidos com CSS;<br />A aplicação funciona com “temas” que podem ser alterados sem a necessidade de alterar o código;<br />Funcionam em MIDP 1.0 e 2.0 (e você ainda pode usar os componentes do 2.0 no 1.0, como os CustomItems);<br />Biblioteca de componentes gráficos<br />
  16. 16. Uma nova fonte, a BitMapFont;<br />Fundos animados, menus animados, “canvas” em tela cheia, novos componentes;<br />Otimizados para dispositivos específicos;<br />Biblioteca de componentes gráficos<br />
  17. 17. Quer ver uma aplicação gráfica?<br />
  18. 18. Você pode usar a engine de jogos do MIDP 2.0 em dispositivos MIDP 1.0;<br />A engine tem diversas otimizações específicas para melhorar a performance;<br />Você não precisa reescrever o código para diferentes dispositivos;<br />Engine de jogos<br />
  19. 19. Suporte completo a I18N sem nenhum overhead para o celular;<br />A localização pode ser feita diretamente no código antes de ser compilado ou pode ser alterada dinamicamente na aplicação;<br />Imagens, sons, formatações, tudo pode ser incluído na localização;<br />Biblioteca de internacionalização e localização<br />
  20. 20. Salve objetos como se eles fossem serializados, sem toda a complicação do RMS;<br />Para tornar um objeto serializável basta defini-lo como Serializable;<br />Todo o código necessário para fazer a serialização e carregar o objeto novamente é gerado automaticamente;<br />Serialização de objetos em dispositivos com suporte a RMS<br />
  21. 21. Usar generics em qualquer uma das coleções disponíveis;<br />Usar o loop for-each;<br />Usar enums;<br />Suporte a auto-boxing;<br />Suporte a sintaxe do Java 5<br />
  22. 22. Você pode invocar métodos em objetos remotos como se estivesse utilizando RMI;<br />Só é necessário ter um servidor web Java comum;<br />Todas as chamadas são feitas via HTTP pelo celular;<br />No servidor você simplesmente implementa um servlet;<br />Invocação remota de métodos<br />
  23. 23. BitMapFont;<br />ArrayList;<br />Suporte a ponto flutuante em celulares CLDC 1.0;<br />TextUtil – Utilitários para Strings;<br />Classes utilitárias e complementos<br />
  24. 24. As novidades do J2ME Polish ocupam espaço e trazem novas classes para a máquina virtual do dispositivo;<br />A licença básica é GPL, você pode pagar pela licença comercial ou entrar em um modo de licença cooperativa;<br />É um bocado de coisa pra se aprender =P<br />Mas nem tudo são flores...<br />
  25. 25. JavaFXMobile;<br />Adroid (Google);<br />E o que ficou fora disso tudo?<br />
  26. 26. Dúvidas?<br />

×