• Save
Desenvolvimento de Aplicações Móveis em Java - Parte 1
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 3,968 views

 

Statistics

Views

Total Views
3,968
Views on SlideShare
3,791
Embed Views
177

Actions

Likes
4
Downloads
1
Comments
0

5 Embeds 177

http://wpjr2.wordpress.com 160
http://www.slideshare.net 12
https://wpjr2.wordpress.com 2
http://www.slideee.com 2
http://static.slidesharecdn.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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
  • 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 •
  • 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
  • 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
  • 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
  • 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;
  • 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
  • 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
  • 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 • 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
  • 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
  • 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)
  • 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)
  • 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
  • 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
  • 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)
  • 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