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

1,103 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,103
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
34
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. São José, 25 de Fevereiro de 2010<br />workshopIntroduçãoaoDesenvolvimento de AplicaçõesMóveis<br />
  2. 2. Por que desenvolver para celulares?<br /><ul><li> Display pequeno
  3. 3. Memória limitada
  4. 4. Baixo poder de processamento
  5. 5. Conectividade limitada
  6. 6. Alimentação por baterias</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  7. 7. Por que desenvolver para celulares?<br /><ul><li> Segundo a Gartner, clientes gastarão US$ 6,2 bilhões nas Mobile Application Stores em 2010, superando 4,5 bilhões de downloads.
  8. 8. Segundo a mesma pesquisa, as receitas de publicidade geradas por aplicações móveis devem ultrapassar US$ 600 milhões.</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  9. 9. Por que desenvolver para celulares?<br /><ul><li> Há 175,6 milhões de celulares no Brasil, representando uma densidade de 91,3 celulares por habitante (Janeiro/2010, Anatel).
  10. 10. 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.</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  11. 11. Por que JavaTM ME?<br /><ul><li>Amplamente aceito pelos fabricantes
  12. 12. Baixo custo para início do desenvolvimento
  13. 13. Rápida curva de aprendizado
  14. 14. Arquitetura modular</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  15. 15. JavaTM ME: principais problemas<br /><ul><li> Fragmentação (APIs opcionais e APIs específicas)
  16. 16. Especificações incompletas
  17. 17. Limitação de tamanho das aplicações </li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  18. 18. JavaTM ME: Configuração CDC<br /><ul><li> Connected Device Configuration
  19. 19. Projetada para ambientes com processamento e memória menos restritos e com conectividade robusta
  20. 20. Compatível com as APIs e ferramentas da Java SE
  21. 21. É executada sobre uma JVM</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  22. 22. JavaTM ME: Configuração CLDC<br /><ul><li> Connected Limited Device Configuration
  23. 23. Destinada a equipamentos com recursos limitados e conectividade intermitente
  24. 24. Não requer compatibilidade com a Java SE
  25. 25. É executada sobre uma KVM</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  26. 26. JavaTM ME: Configuração CLDC<br /><ul><li> CLDC 1.0 (JSR-30)
  27. 27. CLDC 1.1 (JSR-139)</li></ul>Algumas vantagens da configuração CLDC 1.1:<br /><ul><li> Suporte a ponto flutuante
  28. 28. Suporte à referências fracas
  29. 29. Melhorias nas classes Calendar/Date/TimeZone
  30. 30. Date.toString()
  31. 31. Random.nextInt(int n)</li></ul>…<br />Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  32. 32. JavaTM ME: Perfis<br /><ul><li> MIDP 1.0 (JSR-37)
  33. 33. MIDP 2.0 / MIDP 2.1 (JSR-118)
  34. 34. MIDP 3.0 (JSR-271) </li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  35. 35. JTWI<br /><ul><li> JavaTM Technology for the Wireless Industry
  36. 36. Definida pelo grupo JSR-185 (julho/2003)
  37. 37. 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.</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  38. 38. JTWI<br />Especificações obrigatórias:<br /><ul><li> MIDP 2.0 (JSR-118)
  39. 39. WMA 1.1 (JSR-120)</li></ul>Especificações condicionais:<br /><ul><li> MMAPI 1.1 (JSR-135)</li></ul>Configuração mínima:<br /><ul><li> CLDC 1.0 (JSR-30)</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  40. 40. JTWI<br /><ul><li> Tamanho de tela: 125 x 125 pixels
  41. 41. Quantidade de cores: 4096 (12 bits)
  42. 42. Memória volátil para uso do Java: 256 KB
  43. 43. Tamanho do arquivo JAR: 64 KB
  44. 44. Tamanho do arquivo JAD: 5 KB
  45. 45. Tamanho de dados do RMS: 30 KB</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  46. 46. MSA<br /><ul><li>Mobile Service Architecture
  47. 47. Definida pelo grupo JSR-248 (dezembro/2006)
  48. 48. Substitui e amplia as definições da JTWI
  49. 49. Especifica duas plataformas: MSA e MSA Subset </li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  50. 50. Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  51. 51. MSA<br /><ul><li> Tamanho de tela: 128 x 128 pixels
  52. 52. Quantidade de cores: 65536 (16 bits)
  53. 53. Memória volátil para uso do Java: 2048 KB
  54. 54. Tamanho do arquivo JAR: 300 KB
  55. 55. Tamanho do arquivo JAD: 10 KB
  56. 56. Tamanho de dados do RMS: 64 KB</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  57. 57. MSA<br />Nokia 5610 XpressMusic<br />Nokia 7500 Prism<br />Nokia 7900 Prism<br />Nokia 6555<br />Nokia 5310 XpressMusic<br />Nokia 6267<br />Nokia 6301<br />Nokia 6500<br />slide<br />Nokia 6500<br />classic<br />Sony Ericsson Z750<br />Sony Ericsson W910<br />Sony Ericsson K850<br />Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  58. 58. MSA2<br /><ul><li>Mobile Service Architecture 2
  59. 59. Definida pelo grupo JSR-249 (ainda sem final release)
  60. 60. Amplia as definições da MSA
  61. 61. Especifica três plataformas: Limited, Subset e Full</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  62. 62. Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  63. 63. Desenvolvendo com Java ME<br /><ul><li>Java ME SDK 3.0
  64. 64. NetBeans IDE
  65. 65. Eclipse + MTJ</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  66. 66. LCDUI<br /><ul><li> Limited Connected Device User interface
  67. 67. Pacote javax.microedition.lcdui
  68. 68. APIs de alto-nível e baixo-nível</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  69. 69. LCDUI<br />Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  70. 70. Application Obfuscation<br /><ul><li> A principal técnica é a substituição de nomes de variáveis, classes e métodos no bytecode.
  71. 71. Dificultam a engenharia reversa.
  72. 72. Reduz o tamanho das aplicações, reduzindo tempo e custo de download.</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  73. 73. Application Obfuscation<br />ProGuard <br />http://proguard.sourceforge.net/<br />yGuard<br />http://www.yworks.com/en/products_yguard_about.html<br />RetroGuard<br />http://www.retrologic.com/retroguard-main.html<br />mBooster<br />http://www.innaworks.com/mBooster.html<br />Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  74. 74. Application Deployment<br /><ul><li> Conexão local, através de infravermelho, cabo serial/USB, Bluetooth ou outra tecnologia
  75. 75. OTA (Over-the-Air)</li></ul>Workshop Introdução ao Desenvolvimento de Aplicações Móveis<br />
  76. 76. Pedro Moritz de Carvalho Neto<br />contato@pedromoritz.com<br />Celular: (48) 9613-0484<br />Skype: pedromoritz <br />

×