jornada de cursos - j2me aula 1 – overview e conceitos básicos
TRANSCRIPT
![Page 1: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/1.jpg)
Jornada de cursos - J2ME
Aula 1 – Overview e Conceitos básicos
![Page 2: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/2.jpg)
Agenda• Overview do curso
• Metodologia
• Java e J2ME
• Máquinas virtuais
• Configurações e perfis
• O que é quente em J2ME hoje?
![Page 3: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/3.jpg)
Overview do curso
• O que é J2ME
• Configurações
• Perfis
• MIDP
• Comunicação
• Persistência
• MIDP 2.0
![Page 4: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/4.jpg)
Metodologia
• Exercícios/Questões ao final das aulas
• Análise de códigos
• Projeto final
![Page 5: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/5.jpg)
Pausa para reflexão
"Sem esforço não há progresso, mas com esforço também não há progresso”
Ryotan Tokuda, Mestre Zen
![Page 6: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/6.jpg)
Linguagem Java
• Divisão em 3 frentes:• J2SE – desktops• J2EE – servidores• J2ME – dispositivos com memória e
processamento restritos• Tentativas anteriores: Embedded Java e PersonalJava
foram descontinuadas
![Page 7: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/7.jpg)
Alvos de Java
![Page 8: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/8.jpg)
Mas o que é J2ME
• Opção da SUN para desenvolvimento para dispositivos limitados em processamento e memória (móveis ou não)
• Parecida com J2SE
• Mesma linguagem, mesmo compilador, mesma estrutura da máquina virtual
![Page 9: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/9.jpg)
Qualidades
• Write once, run everywhere
• Linguagem de alto nível para dispositivos móveis
• Portabilidade
• Delivery pela rede seguro• Anytime, anywhere secure deploying
• Alta escalabilidade com J2SE e J2EE
![Page 10: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/10.jpg)
Foco de J2ME• Basicamente duas categorias:
• Dispositivos fixos de informação compartilhada • Dispositivos móveis de informação pessoal
• Fronteira não muito bem definida• Mais memória e mais processamento para ambas
categorias
![Page 11: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/11.jpg)
Máquinas virtuais
• KVM• Otimizada para dispositivos com poucos recursos• Implementada em C• 40 K – 80 K• Processadores de 16 – 32 bits• 160 K – 512 K de memória total• Implementação de referência da SUN
• Especificação fornecida pela SUN
• Específica para CLDC• Aplicações CDC não rodam na KVM sem ajustes
• Já a direção contrária é válida
![Page 12: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/12.jpg)
Máquinas Virtuais
• CVM• Quase igual a VM do J2SE. Diferenças:
• Dispositivos fazem computações específicas
• Gerenciamento de memória mais eficiente• Separação VM – Sistema de memória
• Mapear Threads Java em Threads nativas do sistema
• Utiliza a ROM
• Referências fracas, RMI, serialização
![Page 13: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/13.jpg)
Organização da plataforma
• Aplicação
• Building blocks:• Configurações• Perfis
• Pacotes opcionais• Conjunto de API´s mas
não um Perfil
• API´s proprietárias
![Page 14: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/14.jpg)
Mas voltando às divisões...
• Embbeded Java e PersonalJava no final de ciclo de vida
![Page 15: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/15.jpg)
Configurações
![Page 16: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/16.jpg)
Perfis CDC
• Foundation Profile• Sem GUI• Reuso de código J2SE com esforço mínimo• Ambientes com recursos limitados
• Exemplos de cenários:• Impressoras de rede• Roteadores• Gateways residenciais• Aplicações no lado do servidor
![Page 17: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/17.jpg)
Perfis CDC
• Personal Basis Profile• Um framework de GUI para objetos leves• Suporte ao modelo de programação xlet• Todas as APIs incluídas no Foundation Profile
• Exemplos de cenários:• Televisão interativa• Automóveis• Dispositivos de propósito fixo para consumidores
(câmeras digitais, gravadoras, etc)
![Page 18: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/18.jpg)
Perfis CDC
• Personal Profile• Compatibilidade total com AWT• Suporte ao modelo de programação de applets• Um caminho definido para tecnologias legadas
como PersonalJava• Todas as APIs do Personal Basis Profile
• Exemplos de cenários:• High-end PDAs • Embedded Web browsers
![Page 19: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/19.jpg)
Perfis CDC
• Game Profile• Sem previsão de lançamento• Cobrirá 9 áreas fundamentais do desenvolvimento
de jogos• Alvo também em J2SE• Terá referências a Java Media Framework API e
Java 3D
![Page 20: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/20.jpg)
Perfis CLDC
• MIDP• Experiência rica em interface gráfica• Conectividade extensiva• Funcionalidades multmídia e para jogos• OTA• Segurança fim-a-fim
• Dispositivos-alvo:• Para uma lista completa
http://developers.sun.com/techtopics/mobility/device/device
![Page 21: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/21.jpg)
Perfis CLDC• IMP
• Baseado em MIDP• GUI limitada• Recursos de memória ou processamento escassos• Persistência local• Conectividade com a rede• Gerenciamento do ciclo de vida
• Exemplos de uso• Caixas de chamada de emergência, parquímetros, módulos wireless
em alarmes e dispositivos industriais de medição • Módulos wireless que podem alertar para serem reabastecidos,
diagnósticos de elevadores, estações meteorológicas e medidores de eletricidade.
![Page 22: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/22.jpg)
O que é quente hoje em J2ME?
• Aplicativos com processamento do lado do servidor e apresentação no celular
• Localização
• Utilização da câmera embutida• Cartão de visita
• Nokia gems
![Page 23: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/23.jpg)
Perguntas
• Descreva a arquitetura, em termos de blocos, sobre a qual aplicações J2ME são escritas.
![Page 24: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc142497959413d8df6f9/html5/thumbnails/24.jpg)
Referências
• Wireless Programming with J2ME: Cracking the code, ISBN: 0-7645-4885-9
• http://java.sun.com/j2me
• Core J2ME, segunda edição
• http://java.sun.com/products/kvm/wp/KVMwp.pdf
• http://java.sun.com/products/cldc/index.jsp
• http://java.sun.com/products/cdc/index.jsp