Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos.

24
Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos

Transcript of Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos.

Page 1: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos.

Jornada de cursos - J2ME

Aula 1 – Overview e Conceitos básicos

Page 2: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos.

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.

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.

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.

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.

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.

Alvos de Java

Page 8: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos.

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.

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.

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.

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.

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.

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.

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.

Configurações

Page 16: Jornada de cursos - J2ME Aula 1 – Overview e Conceitos básicos.

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.

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.

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.

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.

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.

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.

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.

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.

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