Upload
pedro-moritz
View
888
Download
3
Embed Size (px)
Citation preview
workshop
Introdução ao Desenvolvimento de Aplicações Móveis
São José, 25 de Fevereiro de 2010
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
Por que desenvolver para celulares?
- Display pequeno- Memória limitada- Baixo poder de processamento- Conectividade limitada- Alimentação por baterias
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
Por que desenvolver para celulares?
- Segundo a Gartner, clientes gastarão US$ 6,2 bilhões nas Mobile Application Stores em 2010, superando 4,5 bilhões de downloads.
- Segundo a mesma pesquisa, as receitas de publicidade geradas por aplicações móveis devem ultrapassar US$ 600 milhões.
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
Por que desenvolver para celulares? - Há 175,6 milhões de celulares no Brasil, representando uma densidade de 91,3 celulares por habitante (Janeiro/2010, Anatel).
- Inúmeras oportunidades nas áreas de logística, comércio eletrônico, segurança, business intelligence entretenimento, entre muitas outras, podem gerar receita com baixo custo de implementação.
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
Por que JavaTM ME?
- Amplamente aceito pelos fabricantes
- Baixo custo para início do desenvolvimento
- Rápida curva de aprendizado
- Arquitetura modular
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
JavaTM ME: principais problemas
- Fragmentação (APIs opcionais e APIs específicas)
- Especificações incompletas
- Limitação de tamanho das aplicações
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
JavaTM ME: Configuração CDC
- Connected Device Configuration
- Projetada para ambientes com processamento e memória menos restritos e com conectividade robusta
- Compatível com as APIs e ferramentas da Java SE
- É executada sobre uma JVM
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
JavaTM ME: Configuração CLDC
- Connected Limited Device Configuration
- Destinada a equipamentos com recursos limitados e conectividade intermitente
- Não requer compatibilidade com a Java SE
- É executada sobre uma KVM
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
JavaTM ME: Configuração CLDC
- CLDC 1.0 (JSR-30)- CLDC 1.1 (JSR-139)
Algumas vantagens da configuração CLDC 1.1:- Suporte a ponto flutuante- Suporte à referências fracas- Melhorias nas classes Calendar/Date/TimeZone- Date.toString()- Random.nextInt(int n)…
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
JavaTM ME: Perfis
- MIDP 1.0 (JSR-37)
- MIDP 2.0 / MIDP 2.1 (JSR-118)
- MIDP 3.0 (JSR-271)
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
JTWI
- JavaTM Technology for the Wireless Industry
- Definida pelo grupo JSR-185 (julho/2003)
- Minimizar a fragmentação de APIs no mercado de dispositivos de telefonia móvel, fornecendo especificações previsíveis e claras para fabricantes, operadoras e desenvolvedores.
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
JTWI
Especificações obrigatórias:- MIDP 2.0 (JSR-118)- WMA 1.1 (JSR-120)
Especificações condicionais:- MMAPI 1.1 (JSR-135)
Configuração mínima:- CLDC 1.0 (JSR-30)
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
JTWI
- Tamanho de tela: 125 x 125 pixels- Quantidade de cores: 4096 (12 bits) - Memória volátil para uso do Java: 256 KB- Tamanho do arquivo JAR: 64 KB- Tamanho do arquivo JAD: 5 KB- Tamanho de dados do RMS: 30 KB
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
MSA
- Mobile Service Architecture
- Definida pelo grupo JSR-248 (dezembro/2006)
- Substitui e amplia as definições da JTWI
- Especifica duas plataformas: MSA e MSA Subset
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
MSA
- Tamanho de tela: 128 x 128 pixels- Quantidade de cores: 65536 (16 bits) - Memória volátil para uso do Java: 2048 KB- Tamanho do arquivo JAR: 300 KB- Tamanho do arquivo JAD: 10 KB- Tamanho de dados do RMS: 64 KB
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
MSA
Nokia 5610 XpressMusic
Nokia 7500 Prism
Nokia 7900 Prism
Nokia 6555Nokia 5310 XpressMusic
Nokia 6267 Nokia 6301Nokia 6500slide
Nokia 6500classic
Sony Ericsson Z750
Sony Ericsson W910
Sony Ericsson K850
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
MSA2
- Mobile Service Architecture 2
- Definida pelo grupo JSR-249 (ainda sem final release)
- Amplia as definições da MSA
- Especifica três plataformas: Limited, Subset e Full
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
Desenvolvendo com Java ME- Java ME SDK 3.0 - NetBeans IDE
- Eclipse + MTJ
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
LCDUI
- Limited Connected Device User interface
- Pacote javax.microedition.lcdui
- APIs de alto-nível e baixo-nível
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
LCDUI
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
Application Obfuscation
- A principal técnica é a substituição de nomes de variáveis, classes e métodos no bytecode.
- Dificultam a engenharia reversa.
- Reduz o tamanho das aplicações, reduzindo tempo e custo de download.
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
Application ObfuscationProGuard http://proguard.sourceforge.net/
yGuardhttp://www.yworks.com/en/products_yguard_about.html
RetroGuardhttp://www.retrologic.com/retroguard-main.html
mBoosterhttp://www.innaworks.com/mBooster.html
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
Application Deployment
- Conexão local, através de infravermelho, cabo serial/USB, Bluetooth ou outra tecnologia
- OTA (Over-the-Air)
Workshop Introdução ao Desenvolvimento de Aplicações Móveis
Pedro Moritz de Carvalho [email protected]
Celular: (48) 9613-0484Skype: pedromoritz