SlideShare uma empresa Scribd logo
Java ME simples e fácil com J2ME PolishMaurício Linhares
Writeonce, runanywhereÉ 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
<deviceRequirementsif="test"> 	<requirementname="Identifier" value="Nokia/6600" /></deviceRequirements> <deviceRequirementsunless="test"> <requirementname="JavaPackage" value="nokia-ui" /> <requirementname="BitsPerPixel" value="4+" /></deviceRequirements>Definindo dispositivos e capacidades
//#if !basicInput && (polish.hasPointerEvents) doSomething(); //#ifpolish.BitsPerPixel >= 8 doSomethingColorful(); //#elsedoSomethingDull(); //#endif//#elifdefdoWildStuffdoWildStuff(); //#endifFazendo 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 =PMas nem tudo são flores...
JavaFXMobile;Adroid (Google);E o que ficou fora disso tudo?
Dúvidas?

Mais conteúdo relacionado

Destaque (20)

PPTX
J2ME
Kushal Modi
 
PDF
Java A Tope J2 Me (Java 2 Micro Edition)
Mauro Gomez Mejia
 
PPTX
Introduction to Mobile programming(J2ME)
Wambua Wambua
 
PPT
J2me Presentacion
vivian7894
 
PPT
Curso de J2ME - Parte 01 - Conceitos básicos
Leonardo Melo Santos
 
PPT
J2ME
anupama12369
 
PPT
Introducao ao J2ME
Rodrigo Botelho
 
PDF
Aplicativos Moveis Com J2ME
João Longo
 
PPT
Introdução a JavaME
frgo
 
PDF
Programando pra Celular!? Java ME: o que é e como começar
Lucas Torri
 
DOCX
Project on squid proxy in rhel 6
Nutan Kumar Panda
 
PDF
Minicurso Java Me
Marcelo Quinta
 
PPTX
J2ME
Kumar Gaurav
 
PDF
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Paulo César M Jeveaux
 
PPT
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
Leonardo Melo Santos
 
PPT
Java card technology
Keerthi Thomas
 
PPTX
Device Drivers
Kushal Modi
 
PPT
WAP- Wireless Application Protocol
Senthil Kanth
 
PPT
Wap ppt
Abhijit Nath
 
Java A Tope J2 Me (Java 2 Micro Edition)
Mauro Gomez Mejia
 
Introduction to Mobile programming(J2ME)
Wambua Wambua
 
J2me Presentacion
vivian7894
 
Curso de J2ME - Parte 01 - Conceitos básicos
Leonardo Melo Santos
 
Introducao ao J2ME
Rodrigo Botelho
 
Aplicativos Moveis Com J2ME
João Longo
 
Introdução a JavaME
frgo
 
Programando pra Celular!? Java ME: o que é e como começar
Lucas Torri
 
Project on squid proxy in rhel 6
Nutan Kumar Panda
 
Minicurso Java Me
Marcelo Quinta
 
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Paulo César M Jeveaux
 
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
Leonardo Melo Santos
 
Java card technology
Keerthi Thomas
 
Device Drivers
Kushal Modi
 
WAP- Wireless Application Protocol
Senthil Kanth
 
Wap ppt
Abhijit Nath
 

Semelhante a Java ME simples e fácil com J2ME Polish (20)

PDF
Introdução a Programação de Dispositivos Móveis
igorpimentel
 
PDF
JavaME - Aula 1
Elenilson Vieira
 
PDF
Aplicações Móveis com J2ME
elliando dias
 
PDF
JavaME
Elenilson Vieira
 
PDF
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
Juarez Junior
 
PDF
Java para dispositivos móveis
João Gabriel Lima
 
PDF
Apostila de J2ME versão 1.0.pdf
JoberthSilva
 
PDF
Apostila de J2ME versão 1.0.pdf
JoberthSilva
 
PDF
J2ME Myth Busters - JustJava 2008
Bruno Oliveira
 
PDF
Introdução a Java Micro Edition (Java ME)
elliando dias
 
PPTX
Programação Android - Básico
HugoDalevedove
 
PDF
Java EE netbeans
Reuel Lopes
 
PDF
Minicurso de TotalCross e Litebase
Nécio de Lima Veras
 
PDF
Desenvolvimento de Games e Aplicações para Dispositivos Móveis
Maurílio Silva
 
PDF
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
Juarez Junior
 
PDF
Desenvolvimento aplicacoesdispositivosmoveis
Juarez Junior
 
PDF
18804691 java-for-s60-java-me-and-msa-for-smart-phones
Juarez Junior
 
PPT
Computacao Movel e Sem Fio
Douglas Frari
 
PDF
Apostila JavaME
Elenilson Vieira
 
PDF
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Carlos Eugenio Torres
 
Introdução a Programação de Dispositivos Móveis
igorpimentel
 
JavaME - Aula 1
Elenilson Vieira
 
Aplicações Móveis com J2ME
elliando dias
 
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
Juarez Junior
 
Java para dispositivos móveis
João Gabriel Lima
 
Apostila de J2ME versão 1.0.pdf
JoberthSilva
 
Apostila de J2ME versão 1.0.pdf
JoberthSilva
 
J2ME Myth Busters - JustJava 2008
Bruno Oliveira
 
Introdução a Java Micro Edition (Java ME)
elliando dias
 
Programação Android - Básico
HugoDalevedove
 
Java EE netbeans
Reuel Lopes
 
Minicurso de TotalCross e Litebase
Nécio de Lima Veras
 
Desenvolvimento de Games e Aplicações para Dispositivos Móveis
Maurílio Silva
 
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
Juarez Junior
 
Desenvolvimento aplicacoesdispositivosmoveis
Juarez Junior
 
18804691 java-for-s60-java-me-and-msa-for-smart-phones
Juarez Junior
 
Computacao Movel e Sem Fio
Douglas Frari
 
Apostila JavaME
Elenilson Vieira
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Carlos Eugenio Torres
 
Anúncio

Mais de Maurício Linhares (20)

PPTX
Mercado de TI
Maurício Linhares
 
PPTX
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Maurício Linhares
 
PPTX
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
Maurício Linhares
 
PDF
Aprendendo ruby
Maurício Linhares
 
PDF
Curso java 07 - exceções
Maurício Linhares
 
PDF
Curso java 08 - mais sobre coleções
Maurício Linhares
 
PDF
Curso java 06 - mais construtores, interfaces e polimorfismo
Maurício Linhares
 
PDF
Curso java 05 - herança, classes e métodos abstratos
Maurício Linhares
 
PDF
Curso java 04 - ap is e bibliotecas
Maurício Linhares
 
PPTX
Curso java 01 - molhando os pés com java
Maurício Linhares
 
PDF
Curso java 02 - variáveis
Maurício Linhares
 
PDF
Curso java 03 - métodos e parâmetros
Maurício Linhares
 
PDF
Extreme programming
Maurício Linhares
 
PDF
Feature Driven Development
Maurício Linhares
 
PDF
Migrando pra Scala
Maurício Linhares
 
PPTX
Outsourcing e trabalho remoto para a nuvem
Maurício Linhares
 
PDF
Mercado hoje
Maurício Linhares
 
PDF
Análise de sistemas oo 1
Maurício Linhares
 
PDF
Revisão html e java script
Maurício Linhares
 
PPTX
Aulas de Java Avançado 2- Faculdade iDez 2010
Maurício Linhares
 
Mercado de TI
Maurício Linhares
 
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Maurício Linhares
 
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
Maurício Linhares
 
Aprendendo ruby
Maurício Linhares
 
Curso java 07 - exceções
Maurício Linhares
 
Curso java 08 - mais sobre coleções
Maurício Linhares
 
Curso java 06 - mais construtores, interfaces e polimorfismo
Maurício Linhares
 
Curso java 05 - herança, classes e métodos abstratos
Maurício Linhares
 
Curso java 04 - ap is e bibliotecas
Maurício Linhares
 
Curso java 01 - molhando os pés com java
Maurício Linhares
 
Curso java 02 - variáveis
Maurício Linhares
 
Curso java 03 - métodos e parâmetros
Maurício Linhares
 
Extreme programming
Maurício Linhares
 
Feature Driven Development
Maurício Linhares
 
Migrando pra Scala
Maurício Linhares
 
Outsourcing e trabalho remoto para a nuvem
Maurício Linhares
 
Mercado hoje
Maurício Linhares
 
Análise de sistemas oo 1
Maurício Linhares
 
Revisão html e java script
Maurício Linhares
 
Aulas de Java Avançado 2- Faculdade iDez 2010
Maurício Linhares
 
Anúncio

Último (6)

PPTX
Windows 11 Apostila do Básico ao Avançado
deividcosimo1
 
PDF
11 Roberto.pdf astronomia e astronautica
henzoa798
 
PDF
IA - Grupo J.pdf para trabalho de inteligencia artificial
juanaraujo139815
 
PDF
Aulas Extras - O que é e por que Aprender e Utilizar.pdf
fmartinsss
 
PDF
Zeebo: Uma brevíssima introdução. - David Glotz
BluePanther6
 
PDF
Ceritificado Imersão SOC HackOne Sab/Dom.pdf
RodrigoMori7
 
Windows 11 Apostila do Básico ao Avançado
deividcosimo1
 
11 Roberto.pdf astronomia e astronautica
henzoa798
 
IA - Grupo J.pdf para trabalho de inteligencia artificial
juanaraujo139815
 
Aulas Extras - O que é e por que Aprender e Utilizar.pdf
fmartinsss
 
Zeebo: Uma brevíssima introdução. - David Glotz
BluePanther6
 
Ceritificado Imersão SOC HackOne Sab/Dom.pdf
RodrigoMori7
 

Java ME simples e fácil com J2ME Polish

  • 1. Java ME simples e fácil com J2ME PolishMaurício Linhares
  • 3. Tem telas de tamanhos diferentes...Conjuntos de cores diferentes...Toolkits gráficos diferentes...Teclados diferentes...Conexões a rede diferentes...Os celulares...
  • 4. Bibliotecas disponíveis diferentes...Capacidades de memória diferentes...Dispositivos diferentes...Usuários diferentes...Os celulares tem...
  • 5. E você tem um chefe...Essa coisa tem que rodar em 30 celulares diferentes!
  • 6. ...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
  • 7. Olha só que beleza!
  • 8. A quem eu vou vender isso?
  • 9. Mas não tenha medo!É, uma tartaruga, sacou?
  • 10. E o que é o J2ME Polish?Um conjunto de bibliotecas open source e ferramentas para facilitar o desenvolvimento de aplicações Java ME;
  • 11. 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
  • 12. <deviceRequirementsif="test"> <requirementname="Identifier" value="Nokia/6600" /></deviceRequirements> <deviceRequirementsunless="test"> <requirementname="JavaPackage" value="nokia-ui" /> <requirementname="BitsPerPixel" value="4+" /></deviceRequirements>Definindo dispositivos e capacidades
  • 13. //#if !basicInput && (polish.hasPointerEvents) doSomething(); //#ifpolish.BitsPerPixel >= 8 doSomethingColorful(); //#elsedoSomethingDull(); //#endif//#elifdefdoWildStuffdoWildStuff(); //#endifFazendo compilação condicional
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. Quer ver uma aplicação gráfica?
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. BitMapFont;ArrayList;Suporte a ponto flutuante em celulares CLDC 1.0;TextUtil – Utilitários para Strings;Classes utilitárias e complementos
  • 24. 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 =PMas nem tudo são flores...
  • 25. JavaFXMobile;Adroid (Google);E o que ficou fora disso tudo?