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
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