Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java ME simples e fácil com J2ME Polish

2,267 views

Published on

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

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

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 />

×