Introdução ao desenvolvimento de aplicações móveis (workshop)

Preview:

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 Netocontato@pedromoritz.com

Celular: (48) 9613-0484Skype: pedromoritz

Recommended