You are on page 1of 26

So Jos, 25 de Fevereiro de 2010

workshop

Introduo ao
Desenvolvimento de
Aplicaes Mveis

Por que desenvolver para


celulares?
-

Display pequeno
Memria limitada
Baixo poder de processamento
Conectividade limitada
Alimentao por baterias

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

Por que desenvolver para


celulares?
- Segundo a Gartner, clientes gastaro US$
6,2 bilhes nas Mobile Application Stores
em 2010, superando 4,5 bilhes de
downloads.
- Segundo a mesma pesquisa, as receitas
de publicidade geradas por aplicaes
mveis devem ultrapassar US$ 600
milhes. Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

Por que desenvolver para


celulares?
- H 175,6 milhes de celulares no Brasil,
representando uma densidade de 91,3
celulares por habitante (Janeiro/2010,
Anatel).
- Inmeras oportunidades nas reas de
logstica, comrcio eletrnico, segurana,
business intelligence entretenimento, entre
muitas outras,
podem gerar receita com
Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

Por que JavaTM ME?


- Amplamente aceito pelos fabricantes
- Baixo custo para incio do
desenvolvimento
- Rpida curva de aprendizado
- Arquitetura modular

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

JavaTM ME: principais


problemas
- Fragmentao (APIs opcionais e APIs
especficas)
- Especificaes incompletas
- Limitao de tamanho das aplicaes

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

JavaTM ME: Configurao


CDC
- Connected Device Configuration
- Projetada para ambientes com
processamento e memria menos restritos
e com conectividade robusta
- Compatvel com as APIs e ferramentas da
Java SE
-

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

JavaTM ME: Configurao


CLDC
- Connected Limited Device Configuration
- Destinada a equipamentos com recursos
limitados e conectividade intermitente
- No requer compatibilidade com a Java SE
- executada sobre uma KVM
Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

JavaTM ME: Configurao


CLDC
- CLDC 1.0 (JSR-30)
- CLDC 1.1 (JSR-139)
Algumas vantagens da configurao CLDC
1.1:
- Suporte a ponto flutuante
- Suporte referncias fracas
- Melhorias nas classes
Calendar/Date/TimeZone
Workshop Introduo ao Desenvolvimento de Aplicaes Mveis
-

JavaTM ME: Perfis


- MIDP 1.0 (JSR-37)
- MIDP 2.0 / MIDP 2.1 (JSR-118)
- MIDP 3.0 (JSR-271)

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

JTWI
- JavaTM Technology for the Wireless Industry
- Definida pelo grupo JSR-185 (julho/2003)
- Minimizar a fragmentao de APIs no
mercado de dispositivos de telefonia mvel,
fornecendo especificaes previsveis e
claras para fabricantes, operadoras e
desenvolvedores.
Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

JTWI
Especificaes obrigatrias:
- MIDP 2.0 (JSR-118)
- WMA 1.1 (JSR-120)
Especificaes condicionais:
- MMAPI 1.1 (JSR-135)
Configurao mnima:
- CLDC 1.0 (JSR-30)
Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

JTWI
-

Tamanho de tela: 125 x 125 pixels


Quantidade de cores: 4096 (12 bits)
Memria voltil 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 Introduo ao Desenvolvimento de Aplicaes Mveis

MSA
- Mobile Service Architecture
- Definida pelo grupo JSR-248
(dezembro/2006)
- Substitui e amplia as definies da JTWI
- Especifica duas plataformas: MSA e MSA
Subset
Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

MSA
-

Tamanho de tela: 128 x 128 pixels


Quantidade de cores: 65536 (16 bits)
Memria voltil 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 Introduo ao Desenvolvimento de Aplicaes Mveis

MSA
Nokia 5610
XpressMusi
c

Nokia 5310
XpressMusi
c

Nokia 6267

Nokia 6555

Nokia 6500
classic

Sony
Ericsson
Z750

Nokia 7500
Prism

Nokia 6500
slide

Sony
Ericsson
K850

Nokia 7900
Prism

Nokia 6301

Sony
Ericsson
W910

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

MSA2
- Mobile Service Architecture 2
- Definida pelo grupo JSR-249 (ainda sem
final release)
- Amplia as definies da MSA
- Especifica trs plataformas: Limited,
Subset e Full
Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

Desenvolvendo com Java


ME
- Java ME SDK 3.0
- NetBeans IDE
- Eclipse + MTJ

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

LCDUI
- Limited Connected Device User interface
- Pacote javax.microedition.lcdui
- APIs de alto-nvel e baixo-nvel

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

LCDUI

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

Application Obfuscation
- A principal tcnica a substituio de
nomes de variveis, classes e mtodos no
bytecode.
- Dificultam a engenharia reversa.
- Reduz o tamanho das aplicaes,
reduzindo tempo e custo de download.

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

Application Obfuscation
ProGuard
http://proguard.sourceforge.net/
yGuard
http://www.yworks.com/en/products_yguard_ab
out.html
RetroGuard
http://www.retrologic.com/retroguard-main.htm
l
mBooster
Workshop Introduo ao Desenvolvimento de Aplicaes Mveis
http://www.innaworks.com/mBooster.html

Application Deployment
- Conexo local, atravs de infravermelho,
cabo serial/USB, Bluetooth ou outra
tecnologia
- OTA (Over-the-Air)

Workshop Introduo ao Desenvolvimento de Aplicaes Mveis

Pedro Moritz de Carvalho Neto


contato@pedromoritz.com
Celular: (48) 9613-0484
Skype: pedromoritz

You might also like