Roteiro Desenvolvimento de Aplicações para DM Linguagens

Transcrição

Roteiro Desenvolvimento de Aplicações para DM Linguagens
Roteiro
Desenvolvimento de Aplicações
para Dispositivos Móveis
José de Ribamar Martins Bringel Filho
Mestre em Ciência da Computação (UFC)
[email protected]
Desenvolvimento de Aplicações
para DM
É um desafio a escolha da linguagem e
plataforma de desenvolvimento
Diversidade
Memória,
Perfil
de dispositivos e aplicações
desempenho, plataforma suportada
do desenvolvedor
Facilidade
Recursos
de desenvolvimento
da linguagem e plataforma
Overview das Plataformas e Linguagens
J2ME
Superwaba
J2ME x Superwaba
Projetos do Grupo
Dissertações
Linguagens, plataformas e
ambientes de Desenvolvimento
Principais linguagens
C
e Java
Plataformas
J2ME,
Superwaba, BREW
Ambientes de desenvolvimento
CodeWarrior,
PRC-Tools, Wireless Toolkit
Identificar
a mais indicada para uma determinada
aplicação e dispositivo alvo
Linguagem C
Acesso direto às APIs do SO (e.g. Palm OS)
Melhor desempenho
Gerenciamento de memória
Aplicações compactas
Acesso direto aos dispositivos de comunicação
IrDA,
serial
Ambientes de desenvolvimento
CodeWarrior
(Palm OS, Symbian OS), PRC-Tools
(Palm OS), Falch.Net (Palm OS)
Java
Oferece portabilidade
JVM embutida nos dispositivos
Facilita
a adoção do padrão
APIs compactas para uma linha de
dispositivos
Plataformas
J2ME,
Superwaba
1
Superwaba
JVM adaptada para DM
Desenvolvida por Guilherme Hazan
Evolução
da Waba (Rick Wild)
Suporte aos SOs Palm OS e Windows CE
Permite a utilização de bibliotecas C e Java
Requisitos para o desenvolvimento
Editor
de texto, J2SE, SDK (software Delelopment
Kit), Superwaba Virtual Machine, Emulador
J2ME
Java Micro Edition
Foco
dispositivos
CDC
- Connected Device Configuration
- Connected Limited Device Configuration
CLDC
Requisitos para o
Desenvolvimento
J2ME
Profiles (perfis)
Basis Profile – dispositivos
domésticos, principalmente televisores
PersonalJava[tm] Application Environment
– Dispositivos que rodam WinCE (a partir da
versao 2.12)
MIDP – dispositivos com baixo poder
computacional e baixa conectividade
Personal
móveis em geral e aparelhos domésticos
É dividida em perfis e configurações
Configurações
J2SE
J2ME Wireless Toolkit (WTK)
Emulador
POSE
(Palm OS)
Pode ter tudo integrado em uma IDE de
desenvolvimento
Sun
One Studio
KVM e CLDC
KVM (Kilobyte Virtual Machine) e CLDC (Connected
Limited Device Configuration)
projetados para dispositivos com pouca memória e
de conexão instável
Pacotes:
Derivados do J2SE: java.lang;
java.util;
java.io
Pacote específico: javax.microedition.io (Framework
de conexão)
As classes de ponto flutuante não fazem parte do
java.lang do CLDC 1.0
MathFP pode ser usado para esse propósito
MIDLets
Aplicações do MIDP
Ciclo de vida:
Active
Paused
Destroyed
Active: o programa está rodando
Paused:
o
programa
foi
interrompido pelo dispositivo
Destroyed: os recursos adquiridos
pelo programa foram liberados
Estende a classe javax.microedition.midlet.MIDlet
2
Estrutura de um MIDlet
public class VerGastosMIDlet extends MIDlet {
public void startApp() {
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
Ciclo de Desenvolvimento
Compilação ByteCode
Desktop
Alguns
celulares suportam o .jar
O MIDletSuite se torna um .prc no Palm OS
Bibliotecas Gráficas do MIDP
não
Conversão
Binário
Alvo
Permite o compartilhamento de arquivos de
dados (e.g., RMS, txt) e imagens entre
MIDlets
MIDletSuite deve ser convertido no formato
aceitável pelo dispositivo alvo
javax.microedition.lcdui
É dividida em duas:
Low Api:
Codificação
Sincronismo
MIDletSuite
Emulador
é garantido o funcionamento em todos os
dispositivos
Os principais objetos são o Canvas e Graphics
O objeto Canvas gerencia os eventos de teclado e
da stylus do dispositivo
O objeto Graphics possibilita desenhar linhas,
arcos, imagens.
Dispositivo
Exemplo da LowApi
Bibliotecas Gráficas do MIDP
(cont.)
High Api:
Seu
funcionamento é garantido em todos os
dispositivos
Contém os objetos de interface: Form, Command,
List, Gauge, ChoiceGroup, TextField, TextBox ...
Os únicos que possuem eventos são o
Command(action) e o List(select_command)
Pode-se usar Listener para capturar mudanças de
estado de alguns componentes
Não possui controle sobre o posicionamento dos
componentes
3
J2ME x Superwaba
Critério
J2ME/MIDP 1.0
J2ME/Personal Java
Superwaba
Executa em Palm OS
SIM
NÃO
SIM
Executa em Windows CE
SIM
SIM
SIM
Executa em celulares
Depende do celular
Depende do celular
NÃO
Acesso a arquivos do
Sistema
NÃO
SIM
SIM
Suporte a TCP/IP
SIM
SIM
SIM
Suporte a IrDA
NÃO
Depende do dispositivo
SIM
Suporte a imagens
PNG
JPG
BMP
Controle do layout
Razoável
Excelente
Excelente
Facilidade de
desenvolvimento
Boa
Boa
Boa
Custos Máquinas virtuais
Algumas são pagas
Gratuita
Licença LGPL
Documentação
Disponível
Boa
Razoável
Projetos (Cont...)
Wireless Doctor
O
Projeto tem como objetivo desenvolver
um sistema para controle e
acompanhamento de uma clínica médica
O sistema permite ao médico acompanhar
seus clientes, sua agenda e sua parte
finnaceira a partir do Desktop e de um
celular P800/P900
FRAMESEC
Projetos do Grupo
MobiS
Desenvolvimento
uma solução para a transmissão
segura para dispositivos móveis visando garantir a
confidencialidade, integridade e autenticidade dos
dados transmitidos
MobiSware
Continuação
do projeto MobiS, tem como principal
objetivo desenvolver um framework para garantir a
segurança na transmissão de dados através de
dispositivos móveis
Dissertações
Framesec: Um framework para a provisão de segurança
fim-a-fim para aplicações no ambiente de computação
móvel (Bringel)
Framepersist: Um framework de persistência de objetos
para o desenvolvimento de aplicações para dispositivos
móveis (Katy)
Um Ambiente de Desenvolvimento de Aplicações MultiPlataformas e Adaptativas para Dispositívos Móveis
(Windson)
Um Framework para o Desenvolvimento de Treinamentos
Utilizando Realidade Virtual em Dispositivos Móveis
(Edgar)
Ferramenta PEARL
Framework de aplicação para a construção de mecanismos de
segurança
Confidencialidade, integridade, autenticidade e não-repúdio, bem
como suas combinações
Definido utilizando como base a linguagem de Padrões Tropyc e
padrões de projeto
Information Secrecy, Message Authentication, Message Integrity,
Sender Authentication, Secrecy with Authentication, Secrecy with
Signature, Secrecy with Integrity, Signature with Appendix, e Secrecy
with Signature with Appendix
Forward-Receiver, Strategy e Null Object
4
Web PEARL Analyser
Framepersist
Provê uma camada de persistência para o
desenvolvimento de aplicações para
dispositivos móveis
Operações
básicas de inclusão, exclusão,
atualização e busca de objetos, levando em
consideração as limitações dos dispositivos
móveis
5

Documentos relacionados

Capítulo 1 - Java Noroeste

Capítulo 1 - Java Noroeste escrita do código java, compilação e verificação prévia, execução, empacotamento, criação dos arquivos JAR e JAD, execução da MIDlet em um simulador e download da MIDlet no dispositivo móvel. Tudo ...

Leia mais