SlideShare a Scribd company logo
1 of 31
Download to read offline
Desmistificando o Java ME

Vando Batista
vandob.wordpress.com
vandofb@yahoo.com.br




                   Café com Tapioca, Maio 2008

                         Some Rights Reserved
Objetivos
•   Contextualizar-se no cenário de mobilidade
•   Identificar as principais plataformas
•   Analisar a plataforma Java ME
•   Fomentar computação para mobilidade
Cenário de Mercado
• Aplicações de negócios para dispositivos móveis
 ▫ Crescimento de 102% ao ano, até 2012 - Mobile
   Business Applications and Services, ABI Research

• Oferta de novos serviços

• Avanços, popularização
 ▫ Recursos dos dispositivos   Fonte: Teleco

 ▫ Conectividade
• Como chegar ao
                           CEJUG CCT de
                           Maio?




• “The real Internet
  finally made mobile”
  Nokia, 01/04/2008
Domínio de Tecnologias
Domínio de Tecnologias
O que é Computação Móvel?
• “Computação que se ocupa com a exploração da
  conexão em equipamentos portáteis” Coulouris,
  Dellimore, Kindberg. Sistemas Distribuídos (4a
  edição)

• Transparência de mobilidade
Características como Desafios
• Dispositivos
• Redes
• Limitações e heterogeneidade
                  3G, 4G...



• Dependências
 ▫ Energia: autonomia de bateria
 ▫ Recurso: disponibilidade de conexão
Plataformas de Desenvolvimento
Telefone Celular
Video Java ME Technology
Java para Mobilidade




Fonte: SDN - java.sun.com/javame
Ecossistema Java ME




Fonte: SDN - java.sun.com/javame
Componentes da Arquitetura




Fonte: SDN - java.sun.com/javame
APIs e JSRs
• Quantas JSRs são mantidas pelo JCP?
 ▫ EE: 45
 ▫ SE: 43
 ▫ ME: 83
• Java Community Process
 ▫ Reference Implementation
 ▫ Test Compatibility Kit
• APIs proprietárias
• Interação com aplicações nativas
 ▫ Browser, ligação
Fragmentação
• Aspectos
 ▫ Computacional
 ▫ Físico
 ▫ API

• Java Technology for Wireless Industry (JSR 185)
• Mobile Service Architecture (JSRs 248, 249)
Ferramentas
• Emulador
• SDK
• IDE


• Integração
 ▫ Unified Emulator Interface
“Hello Mobile World!” em MIDP
• Desenvolvimento
 ▫ preprocess, build, obfuscate, preverify, run, debug,
   and deploy
• MIDlet Suite
 ▫ JAD
 ▫ JAR
 ▫ Ciclo de vida
• Usando
 ▫ Eclipse + Eclipseme
 ▫ NetBeans + Mobility
Interface Gráfica de Usuário
• Componentes
 ▫ Display
 ▫ Displayable

 ▫ High level
 ▫ Low level
 ▫ Game API
Armazenamento Persistente
   • Record Management System

   •   RecordStore
   •   RecordEnumeration
   •   RecordComparator
   •   RecordFilter



Fonte: IBM - www.ibm.com/developerworks/library/wi-rms/
Conectividade
• Generic Connection Framework
• Remota – Infraestruturada
 ▫   HTTP, HTTPS
 ▫   TCP, UDP
 ▫   Wireless Messaging API
 ▫   Push Registry
 ▫   SIP
                              Fonte: SDN - java.sun.com/javame
• Local – Ad-hoc
 ▫ JSR 82: JABWT
 ▫ JSR 259: Ad Hoc Networking API
Otimizações
•   Liberar objetos
•   String Vs. StringBuffer
•   Arrays Vs. Collection
•   Moderação
    ▫   Synchronized
    ▫   Variáveis de instância
    ▫   Quantidade de parâmetros
    ▫   Iniciação de recursos
    ▫   Interfaces, classes internas
• Obfuscação, compressão (JAR)
Depuração
• System.out.print()
 ▫ Console no Desktop + Dispositivo

• On Device Deploy/Debugging
APIs Recentes
• Lightweight UI Toolkit




• Mobile Ajax
Demos
•   Sun WTK
•   Mobile & Embedded Community
•   Skype Mobile
•   Last.fm Social Player
Comunidade
• Mobile & Embedded
 ▫ http://today.java.net/pub/ct/mobileandembedded
• Projetos no Java.Net
 ▫ 147 projetos
 ▫ Spontaneousware
• Java Mobility Podcast
 ▫ 45 áudios
Referências
• Mobile and Embedded Guide to JavaOne 2008
 ▫ http://wiki.java.net/bin/view/Mobileandembedde
   d/JavaOne2008
• A Survey of Java ME Today
 ▫ http://developers.sun.com/mobility/getstart/articl
   es/survey/
• Java ME Device Table
 ▫ http://developers.sun.com/mobility/device/
• Curso do JEDI (DFJUG)
 ▫ http://jedi.wv.com.br
Certificação SCMAD
•   Pré-requisito: SCJP
•   68 questões
•   Média: 55%
•   Assuntos
    ▫   JTWI                ▫   Persistent Storage
    ▫   CLDC 1.0, 1.1       ▫   Push Registry
    ▫   Security            ▫   User Interface
    ▫   Networking          ▫   Game API
    ▫   Application Model   ▫   MMAPI
                            ▫   WMA
Domínio de Tecnologias
Perguntas?
Obrigado!

More Related Content

Similar to Java ME: guia completo

Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaWaldir R. Pires Jr
 
Apresentacao tcc diego final
Apresentacao tcc diego finalApresentacao tcc diego final
Apresentacao tcc diego finalDiego
 
Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)elliando dias
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaWaldir R. Pires Jr
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoIgor Sobreira
 
Gestão de Projeto de Desenvolvimento Agil(XP)
Gestão de Projeto de Desenvolvimento Agil(XP)Gestão de Projeto de Desenvolvimento Agil(XP)
Gestão de Projeto de Desenvolvimento Agil(XP)elliando dias
 
Introdução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos MóveisIntrodução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos Móveisigorpimentel
 
Palestra Fpsl Alfredofurtado Netbeans A Ferramenta Definitiva
Palestra Fpsl Alfredofurtado Netbeans A Ferramenta DefinitivaPalestra Fpsl Alfredofurtado Netbeans A Ferramenta Definitiva
Palestra Fpsl Alfredofurtado Netbeans A Ferramenta Definitivaalfredofurtado
 
Palestra Fpsl Alfredofurtado Netbeans A Ferramenta Definitiva
Palestra Fpsl Alfredofurtado Netbeans A Ferramenta DefinitivaPalestra Fpsl Alfredofurtado Netbeans A Ferramenta Definitiva
Palestra Fpsl Alfredofurtado Netbeans A Ferramenta Definitivaalfredofurtado
 
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_juniorJuarez Junior
 
Software Rastreador de Movimentos
Software Rastreador de MovimentosSoftware Rastreador de Movimentos
Software Rastreador de MovimentosFreedom DayMS
 
Java para dispositivos móveis
Java para dispositivos móveisJava para dispositivos móveis
Java para dispositivos móveisJoão Gabriel Lima
 
Desenvolvimento de Aplicações Móveis com JavaME
Desenvolvimento de Aplicações Móveis com JavaMEDesenvolvimento de Aplicações Móveis com JavaME
Desenvolvimento de Aplicações Móveis com JavaMEWaldir R. Pires Jr
 
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e FerramentasWagner Roberto dos Santos
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começouJose Wilker
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começouJose Wilker
 

Similar to Java ME: guia completo (20)

O Mundo Wireless
O Mundo WirelessO Mundo Wireless
O Mundo Wireless
 
Javacard Campus Party
Javacard Campus PartyJavacard Campus Party
Javacard Campus Party
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em Java
 
Apresentacao tcc diego final
Apresentacao tcc diego finalApresentacao tcc diego final
Apresentacao tcc diego final
 
Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)Introdução a Java Micro Edition (Java ME)
Introdução a Java Micro Edition (Java ME)
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em Java
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com Django
 
Gestão de Projeto de Desenvolvimento Agil(XP)
Gestão de Projeto de Desenvolvimento Agil(XP)Gestão de Projeto de Desenvolvimento Agil(XP)
Gestão de Projeto de Desenvolvimento Agil(XP)
 
Introdução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos MóveisIntrodução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos Móveis
 
Palestra Fpsl Alfredofurtado Netbeans A Ferramenta Definitiva
Palestra Fpsl Alfredofurtado Netbeans A Ferramenta DefinitivaPalestra Fpsl Alfredofurtado Netbeans A Ferramenta Definitiva
Palestra Fpsl Alfredofurtado Netbeans A Ferramenta Definitiva
 
Palestra Fpsl Alfredofurtado Netbeans A Ferramenta Definitiva
Palestra Fpsl Alfredofurtado Netbeans A Ferramenta DefinitivaPalestra Fpsl Alfredofurtado Netbeans A Ferramenta Definitiva
Palestra Fpsl Alfredofurtado Netbeans A Ferramenta Definitiva
 
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
 
Software Rastreador de Movimentos
Software Rastreador de MovimentosSoftware Rastreador de Movimentos
Software Rastreador de Movimentos
 
Java para dispositivos móveis
Java para dispositivos móveisJava para dispositivos móveis
Java para dispositivos móveis
 
Desenvolvimento de Aplicações Móveis com JavaME
Desenvolvimento de Aplicações Móveis com JavaMEDesenvolvimento de Aplicações Móveis com JavaME
Desenvolvimento de Aplicações Móveis com JavaME
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
Apresentando o CEJUG e o poder do Java
Apresentando o CEJUG e o poder do JavaApresentando o CEJUG e o poder do Java
Apresentando o CEJUG e o poder do Java
 
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começou
 

Java ME: guia completo

  • 1. Desmistificando o Java ME Vando Batista vandob.wordpress.com vandofb@yahoo.com.br Café com Tapioca, Maio 2008 Some Rights Reserved
  • 2. Objetivos • Contextualizar-se no cenário de mobilidade • Identificar as principais plataformas • Analisar a plataforma Java ME • Fomentar computação para mobilidade
  • 3. Cenário de Mercado • Aplicações de negócios para dispositivos móveis ▫ Crescimento de 102% ao ano, até 2012 - Mobile Business Applications and Services, ABI Research • Oferta de novos serviços • Avanços, popularização ▫ Recursos dos dispositivos Fonte: Teleco ▫ Conectividade
  • 4. • Como chegar ao CEJUG CCT de Maio? • “The real Internet finally made mobile” Nokia, 01/04/2008
  • 7. O que é Computação Móvel? • “Computação que se ocupa com a exploração da conexão em equipamentos portáteis” Coulouris, Dellimore, Kindberg. Sistemas Distribuídos (4a edição) • Transparência de mobilidade
  • 8. Características como Desafios • Dispositivos • Redes • Limitações e heterogeneidade 3G, 4G... • Dependências ▫ Energia: autonomia de bateria ▫ Recurso: disponibilidade de conexão
  • 10. Video Java ME Technology
  • 11. Java para Mobilidade Fonte: SDN - java.sun.com/javame
  • 12. Ecossistema Java ME Fonte: SDN - java.sun.com/javame
  • 13. Componentes da Arquitetura Fonte: SDN - java.sun.com/javame
  • 14. APIs e JSRs • Quantas JSRs são mantidas pelo JCP? ▫ EE: 45 ▫ SE: 43 ▫ ME: 83 • Java Community Process ▫ Reference Implementation ▫ Test Compatibility Kit • APIs proprietárias • Interação com aplicações nativas ▫ Browser, ligação
  • 15.
  • 16. Fragmentação • Aspectos ▫ Computacional ▫ Físico ▫ API • Java Technology for Wireless Industry (JSR 185) • Mobile Service Architecture (JSRs 248, 249)
  • 17. Ferramentas • Emulador • SDK • IDE • Integração ▫ Unified Emulator Interface
  • 18. “Hello Mobile World!” em MIDP • Desenvolvimento ▫ preprocess, build, obfuscate, preverify, run, debug, and deploy • MIDlet Suite ▫ JAD ▫ JAR ▫ Ciclo de vida • Usando ▫ Eclipse + Eclipseme ▫ NetBeans + Mobility
  • 19. Interface Gráfica de Usuário • Componentes ▫ Display ▫ Displayable ▫ High level ▫ Low level ▫ Game API
  • 20. Armazenamento Persistente • Record Management System • RecordStore • RecordEnumeration • RecordComparator • RecordFilter Fonte: IBM - www.ibm.com/developerworks/library/wi-rms/
  • 21. Conectividade • Generic Connection Framework • Remota – Infraestruturada ▫ HTTP, HTTPS ▫ TCP, UDP ▫ Wireless Messaging API ▫ Push Registry ▫ SIP Fonte: SDN - java.sun.com/javame • Local – Ad-hoc ▫ JSR 82: JABWT ▫ JSR 259: Ad Hoc Networking API
  • 22. Otimizações • Liberar objetos • String Vs. StringBuffer • Arrays Vs. Collection • Moderação ▫ Synchronized ▫ Variáveis de instância ▫ Quantidade de parâmetros ▫ Iniciação de recursos ▫ Interfaces, classes internas • Obfuscação, compressão (JAR)
  • 23. Depuração • System.out.print() ▫ Console no Desktop + Dispositivo • On Device Deploy/Debugging
  • 24. APIs Recentes • Lightweight UI Toolkit • Mobile Ajax
  • 25. Demos • Sun WTK • Mobile & Embedded Community • Skype Mobile • Last.fm Social Player
  • 26. Comunidade • Mobile & Embedded ▫ http://today.java.net/pub/ct/mobileandembedded • Projetos no Java.Net ▫ 147 projetos ▫ Spontaneousware • Java Mobility Podcast ▫ 45 áudios
  • 27. Referências • Mobile and Embedded Guide to JavaOne 2008 ▫ http://wiki.java.net/bin/view/Mobileandembedde d/JavaOne2008 • A Survey of Java ME Today ▫ http://developers.sun.com/mobility/getstart/articl es/survey/ • Java ME Device Table ▫ http://developers.sun.com/mobility/device/ • Curso do JEDI (DFJUG) ▫ http://jedi.wv.com.br
  • 28. Certificação SCMAD • Pré-requisito: SCJP • 68 questões • Média: 55% • Assuntos ▫ JTWI ▫ Persistent Storage ▫ CLDC 1.0, 1.1 ▫ Push Registry ▫ Security ▫ User Interface ▫ Networking ▫ Game API ▫ Application Model ▫ MMAPI ▫ WMA