26
workshop Introdução ao Desenvolvimento de Aplicações Móveis São José, 25 de Fevereiro de 2010

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

Embed Size (px)

Citation preview

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

workshop

Introdução ao Desenvolvimento de Aplicações Móveis

São José, 25 de Fevereiro de 2010

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

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

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

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.

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

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.

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

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

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

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

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

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

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

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

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

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

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

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)

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

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.

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

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)

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

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

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

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

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

Workshop Introdução ao Desenvolvimento de Aplicações Móveis

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

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

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

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

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

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

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

Workshop Introdução ao Desenvolvimento de Aplicações Móveis

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

Desenvolvendo com Java ME- Java ME SDK 3.0 - NetBeans IDE

- Eclipse + MTJ

Workshop Introdução ao Desenvolvimento de Aplicações Móveis

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

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

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

LCDUI

Workshop Introdução ao Desenvolvimento de Aplicações Móveis

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

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

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

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

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

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

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

Pedro Moritz de Carvalho [email protected]

Celular: (48) 9613-0484Skype: pedromoritz