Your SlideShare is downloading. ×
Desenvolvimento de Aplicações
Móveis em Java

       Prof. Waldir Ribeiro Pires Jr
  Semana da Informática – PUC Minas SG
...
Agenda do Seminário
              Quatro Partes
    Introdução ao tema
•
    Desenvolvimento de aplicações em JavaME
•
   ...
Agenda
Parte 1
• Sobre o palestrante
• Introdução
    • Classificação e características de
      dispositivos
•   Visão ge...
Sobre o Palestrante

• Passado
  – Bacharel em Ciência da Computação pela UFMG (2002)
  – Desenvolvimento de Aplicações Ja...
Introdução
Objetivos
• Apresentar uma visão geral sobre o desenvolvimento de
  aplicações para dispositivos móveis
  – Cla...
Introdução
Classificação de Dispositivos Móveis
• Tamanho
  – Pequeno, médio, grande;
• Tipo
  – Formatos diferentes, tais...
Introdução
Classificação de Dispositivos Móveis
• Preço
  – Faixas ou segmentos baixo, médio e alto;
• Conectividade de da...
Introdução
Características de Dispositivos Móveis
• Capacidade de processamento
   – Modelo do processador, freqüência do ...
Introdução
Cadeia de Valor para Dispositivos Móveis
Introdução
Sistemas Móveis Embarcados
Visão Geral
Aplicações Móveis
Dispositivos, Redes e Conteúdo
• Dispositivos móveis
  – Crescimento explosivo de dispositivos móveis
  ...
Aplicações Móveis
Tipos de Aplicações
• Tipos de aplicações
  –   Comunicação via voz
  –   Navegação pela Web (>90% do ac...
Características do Desenvolvimento
Desafios
– Pobreza de recursos comparada a PCs
   • Poder de processamento, memória, es...
Características do Desenvolvimento
Tendências
• Acesso a informações e serviços independente da
  localização
  – Ex: Mobi...
Aplicações Móveis
Dicas de Desenvolvimento
• Não abusar do paradigma da orientação por objetos
  • Método KISS
• Utilizar ...
Aplicações Móveis
Dicas de Desenvolvimento
• Controle de memória
  • Liberação de memória, mesmo em plataformas com coleta...
Desenvolvimento de Aplicações Móveis
Plataformas de Software
• Baseado em Java            • Não Java
  –   Sun JavaME ou J...
Desenvolvimento de Aplicações Móveis
Plataformas de Software
• Plataformas Fechadas
  – Dificuldades de inovação
  – Altas...
Upcoming SlideShare
Loading in...5
×

Desenvolvimento de Aplicações Móveis em Java - Parte 1

2,490

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,490
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "Desenvolvimento de Aplicações Móveis em Java - Parte 1"

  1. 1. Desenvolvimento de Aplicações Móveis em Java Prof. Waldir Ribeiro Pires Jr Semana da Informática – PUC Minas SG Belo Horizonte, MG 09/05/2009
  2. 2. Agenda do Seminário Quatro Partes Introdução ao tema • Desenvolvimento de aplicações em JavaME • Desenvolvimento de aplicações no Google Android • Conclusões finais •
  3. 3. Agenda Parte 1 • Sobre o palestrante • Introdução • Classificação e características de dispositivos • Visão geral • Características • Dicas de desenvolvimento • Plataformas de software
  4. 4. Sobre o Palestrante • Passado – Bacharel em Ciência da Computação pela UFMG (2002) – Desenvolvimento de Aplicações Java desde 2000 (JavaSE, JavaEE e JavaME) – 2004-2006: Siemens/Benq Mobile (Multimídia, JSR 253 e Padronização Java) • Presente – Engenheiro de SW JavaEE pelo Synergia-DCC-UFMG – Professor assistente da PUC-MG SG no curso de Sistemas de Informação – Mestrando em Ciência da Computação pela UFMG (2008) • Computação móvel e ubíqua • Plataforma Android
  5. 5. Introdução Objetivos • Apresentar uma visão geral sobre o desenvolvimento de aplicações para dispositivos móveis – Classificação e características de dispositivos móveis – Desafios associados – Dicas de implementação • Apresentar duas das principais plataformas de desenvolvimento de aplicações móveis na linguagem Java – JavaME da Sun – Android da Google • Criar aplicações básicas nas duas plataformas acima
  6. 6. Introdução Classificação de Dispositivos Móveis • Tamanho – Pequeno, médio, grande; • Tipo – Formatos diferentes, tais como o de concha, barra, slider, candy bar, etc.; • Recursos de multimídia – Câmera, toques de ligações, MP3, memo de voz, auto falante, etc.; • Qualidade do display – Resolução, cores, nitidez, tecnologia LCD; • Recursos especiais – Aplicativos, navegador Web, gerenciador de informações pessoais;
  7. 7. Introdução Classificação de Dispositivos Móveis • Preço – Faixas ou segmentos baixo, médio e alto; • Conectividade de dados – Suporte a Bluetooth, infravermelho, serial, USB, modem sem-fio, WiFi; • Capacidade de armazenamento – Tamanho da memória e suporte a cartões de memória adicionais; • Recursos de telefonia móvel – Capacidade do dispositivo de gerenciar ligações móveis (fazer, receber ligações, conferência, serviços de rede, etc.). • Entrada de dados – Teclado simples, qwerty, tela sensível ao toque, multi-toque, caneta
  8. 8. Introdução Características de Dispositivos Móveis • Capacidade de processamento – Modelo do processador, freqüência do clock – Pouca capacidade de memória e pouca capacidade de processamento, comparando com computadores desktop. • Fabricantes – A padronização é aplicada em alguns casos, em outros não • Classes de dispositivos – Níveis de processamento baixo, médio e alto • Várias plataformas de desenvolvimento de SW – Muitas opções, porém em alguns casos não atendem à requisitos da aplicação – Curva de aprendizado alta – Depende da sua cobertura no mercado
  9. 9. Introdução Cadeia de Valor para Dispositivos Móveis
  10. 10. Introdução Sistemas Móveis Embarcados
  11. 11. Visão Geral
  12. 12. Aplicações Móveis Dispositivos, Redes e Conteúdo • Dispositivos móveis – Crescimento explosivo de dispositivos móveis • Celulares, PDAs, notebooks, netbooks, tocadores de mídia, Mps – Diferentes recursos de multimídia • Tela, captura de imagens, armazenamento, processamento, comunicação • Redes Móveis – Melhores tecnologias dos fabricantes • Utilização do espectro eletromegnético, fibra ótica, WLAN • Maior largura de banda, melhor cobertura • Conteúdo – Crescimento da mídia digital – Mudanças na forma como o conteúdo é produzido • Passivo vs. Interativo, centralizado vs. P2P
  13. 13. Aplicações Móveis Tipos de Aplicações • Tipos de aplicações – Comunicação via voz – Navegação pela Web (>90% do acesso a internet no Japão) – Acesso a arquivos de mídia – GPS – Jogos – Conectando com pessoas . . . • O que tem sido desejável em plataformas móveis – Eficiente apesar das limitações de memória, computacional e bateria – Aberta e expansível, facilmente portável – Eficiente no desenvolvimento • Boas APIs e ferramentas de desenvolvimento para o desenvolvedor • Colaboração e reuso entre desenvolvedores
  14. 14. Características do Desenvolvimento Desafios – Pobreza de recursos comparada a PCs • Poder de processamento, memória, espaço para armazenamento • Ergonomia – Chance maior de perda de dados • Roubo ou furto do dispositivo, segurança dos dados contidos • Maior vulnerabilidade a estragos – Conectividade variável em termos de desempenho e confiabilidade • Variação da qualidade e largura de banda em redes sem-fio internas e externas • Interferência nas ondas de rádio – Bateria limitada • Sensível ao consumo de bateria (HW e SW)
  15. 15. Características do Desenvolvimento Tendências • Acesso a informações e serviços independente da localização – Ex: Mobile IP • Novos serviços oferecidos – Serviços antes somente disponíveis em PCs • Focos em 2009: Telas sensíveis ao toque: tecnologias mais amigáveis de interação – Mobilidade: smartphones – Conectividade: Disponibilidade de mais de um tipo de rede – Micro-processamento: energia e processamento – Computação nas nuvens: aplicações e serviços remotos – • Plataformas de smartphones ocupando o espaço de plataformas mais antigas, como o JavaME – Symbian (C/C++, Python), Android (Java), IPhone (Objective C) e Windows Mobile (C#, Dot Net)
  16. 16. Aplicações Móveis Dicas de Desenvolvimento • Não abusar do paradigma da orientação por objetos • Método KISS • Utilizar processamento concorrente para tratamento de UI • Evitar a “tela congelada” • Otimização de código • Otimizar o processamento de variáveis, especialmente em iterações • A mesma operação em menos iterações • Avaliar os tipos de dados usados (byte, short, int) • Sempre focar na tentativa de melhorar uma implementação sendo realizada
  17. 17. Aplicações Móveis Dicas de Desenvolvimento • Controle de memória • Liberação de memória, mesmo em plataformas com coleta de lixo automática • Atribuir null para variáveis não usadas • Uso de padrões de projeto para aplicações móveis • Compressão de dados, Proxy e Singleton • Inicialização lenta • Priorização de tarefas: falha parcial e captão oates • Flyweight e Pool de threads • Executar testes de desempenho no aplicativo • Pelo menos via emulador
  18. 18. Desenvolvimento de Aplicações Móveis Plataformas de Software • Baseado em Java • Não Java – Sun JavaME ou JavaSE – Symbian (C/C++, Python) – SuperWaba – Windows Mobile (Dot Net Compact Framework) – Google Android – PalmOS, Pocket PC – RIM Blackberry (C/C++) – IPhone (Objective C) – BREW (C/C++) – Microbrowser (XHTML) – FlashLite (ActionScript)
  19. 19. Desenvolvimento de Aplicações Móveis Plataformas de Software • Plataformas Fechadas – Dificuldades de inovação – Altas taxas de royalties – Custo mais alto para o desenvolvedor e para o usuário – Plataformas abertas – Acesso a detalhes da implementação – Possibilidade de inovações – Mais barato, mais competitivo, mais tecnologias

×