Desenvolvimento para Android - Bento Gonçalves (08/2011)

1.587 visualizações

Publicada em

Slides do workshop sobre Desenvolvimento para Android, apresentado no Tchêlinux Bento Gonçalves (13/08/2011). http://tchelinux.org/site/doku.php?id=evento_2011_agosto_bento

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.587
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
47
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desenvolvimento para Android - Bento Gonçalves (08/2011)

  1. 2. Desenvolvimento para
  2. 3. 4 Frases que o dono de um Android escuta [todos os dias]
  3. 4. Que marca de iPhone é esse seu ?
  4. 5. Nossa! Com esse dinheiro dava até pra comprar um iPhone!
  5. 6. É uma imitação do iPhone?
  6. 7. A bateria do meu Nokia 5125 dura duas semanas a fio. E eu mando SMS!
  7. 8. Quem sou eu
  8. 9. História do Android Outros OSs para dispositivos móveis Coisas boas do Android Coisas ruins do Android O que é o Android Mercado Mobile Paradigmas de desenvolvimento Estrutura de um aplicativo Android Conceitos utilizados no desenvolvimento Ambiente e Ferramentas Hello World Como debugar uma aplicaç!ao móvel Publicação de Apps no Android Market
  9. 10. Sistemas Operacionais (para dispositivos móveis) <ul><li>Visão tradicional </li></ul><ul><ul><li>Modelo fechado </li></ul></ul><ul><ul><li>Symbian, PalmOS, WinMo, Blackberry </li></ul></ul><ul><ul><li>Linux (sem padrões) </li></ul></ul><ul><ul><li>JavaME </li></ul></ul>
  10. 11. Sistemas Operacionais (para dispositivos móveis) <ul><li>Visão atual </li></ul><ul><ul><li>Modelo aberto </li></ul></ul><ul><ul><li>iOS, Android, WinMO, Blackberry, Symbian </li></ul></ul><ul><ul><li>Desenvolvimento nativo </li></ul></ul><ul><ul><li>“ Apps” & “Markets” </li></ul></ul>
  11. 13. O Android é um “Software Stack”
  12. 14. Software Stack <ul><li>Aplicações </li></ul><ul><li>Middleware </li></ul><ul><li>Sistema Operacional </li></ul>
  13. 16. Parte Linux <ul><li>Kernel 2.6 </li></ul><ul><ul><li>Drivers, memória, rede, gerenciamento de processos </li></ul></ul><ul><li>Sem glibc (custom) </li></ul><ul><li>Sem “unix utils” </li></ul><ul><li>Sem Xwindow </li></ul>
  14. 17. Parte Middleware <ul><li>Bibliotecas de baixo nível </li></ul><ul><ul><li>SSL, OpenGL, Codecs, Webkit, SQLite, Dalvik </li></ul></ul><ul><li>Application Framework </li></ul><ul><ul><li>Activity Mngr, Location Mngr, Notification Mngr, Telephony </li></ul></ul>
  15. 18. Parte Aplicações <ul><li>Home </li></ul><ul><li>Contatos </li></ul><ul><li>Telefone </li></ul><ul><li>Browser </li></ul><ul><li>Gmail </li></ul><ul><li>Maps </li></ul><ul><li>Market (...) </li></ul>
  16. 19. Dizem que Android == Java...
  17. 20. Porque Android != Java <ul><li>Android *usa* Java </li></ul><ul><li>Implementa parte da especificação Apache Harmony </li></ul><ul><li>dex != class </li></ul><ul><li>apk != jar </li></ul><ul><li>Dalvik != Oracle JVM </li></ul><ul><li>Patentes </li></ul>
  18. 21. Dalvik, Eyjafjörður, Islândia
  19. 22. Dalvik <ul><li>Apache Harmony </li></ul><ul><li>Otimizado para as restrições dos dispositivos móveis </li></ul><ul><li>Não precisa de SWAP </li></ul><ul><li>Multiplas VMs </li></ul>https://sites.google.com/site/io/dalvik-vm-internals
  20. 23. Um pouco de história [pic related]
  21. 24. Agosto/2005 – Google adquire uma empresa chamada “Android Inc.”, de Palo Alto (Califórnia) e fundada em Outubro/2003
  22. 25. Setembro/2007
  23. 26. Novembro/2007
  24. 27. Android 1.0 (Sem nome)
  25. 28. Android 1.0 e 1.1 <ul><li>Set/2008 e Fev/2009 </li></ul><ul><li>Primeira versão (e update) </li></ul><ul><li>HTC G1 e HTC Dream </li></ul><ul><li>Early Adopters </li></ul>
  26. 29. Android 1.5 (Cupcake)
  27. 30. Android 1.5 <ul><li>Abril/2009 </li></ul><ul><li>Widgets </li></ul><ul><li>Gravação de video </li></ul><ul><li>MPEG4 </li></ul><ul><li>Teclados de terceiros </li></ul><ul><li>HTC Hero </li></ul>
  28. 31. Android 1.6 (Donut)
  29. 32. Android 1.6 <ul><li>Set/2009 </li></ul><ul><li>Android Market </li></ul><ul><li>Suporte a CDMA e VPNs </li></ul><ul><li>Navegação GPS </li></ul><ul><li>Text-to-speech </li></ul>
  30. 33. Android 2.0 e 2.1 (Eclair)
  31. 34. Android 2.0 e 2.1 <ul><li>Out/2009 e Jan/2010 </li></ul><ul><li>Melhorias na câmera </li></ul><ul><li>Melhorias no navegador </li></ul><ul><li>Desempenho </li></ul><ul><li>Motorola Milestone </li></ul><ul><li>Nexus One </li></ul>
  32. 35. Android 2.2 (Froyo)
  33. 36. Android 2.2 <ul><li>Maio/2010 </li></ul><ul><li>Desempenho </li></ul><ul><li>Compilador JIT </li></ul><ul><li>V8 </li></ul><ul><li>Tethering e Hotspot Wi-Fi nativo </li></ul><ul><li>Apps no SD </li></ul><ul><li>Adobe Flash </li></ul><ul><li>Telas com alto DPI (320) </li></ul>
  34. 37. Android 2.3 (Gingerbread)
  35. 38. Android 2.3 <ul><li>Dez/2010 </li></ul><ul><li>Nova Interface </li></ul><ul><li>Desempenho (GC concorrente) </li></ul><ul><li>SIP nativo (VoIP) e chat por video </li></ul><ul><li>NFC </li></ul><ul><li>Download Manager </li></ul><ul><li>Múltiplas câmeras </li></ul><ul><li>NDK melhorado </li></ul><ul><li>Nexus S </li></ul>
  36. 39. Android 3.0, 3.1 e 3.2 (Honeycomb)
  37. 40. Android 3.x <ul><li>Fev-Mai-Jul/2011 </li></ul><ul><li>Suporte exclusivo a Tablets (Sistema totalmente redesenhado) </li></ul><ul><li>Dispositivos USB (3.1) </li></ul><ul><li>Suporte a novos hardwares </li></ul><ul><li>Modo de compatibilidade (3.2) </li></ul><ul><li>Motorola XOOM </li></ul>
  38. 41. Android 4.0? (Ice Cream Sandwich)
  39. 42. O mercado Android hoje
  40. 43. Vendas - Comparativo
  41. 44. Smartphones - EUA
  42. 45. ~500.000 ativações por dia
  43. 46. Estranhas patentes
  44. 47. Incidentes de segurança
  45. 48. Fragmentação (Agosto 2011)
  46. 49. Pirataria
  47. 50. Comunidade
  48. 51. Concorrência
  49. 52. Desenvolver para dispositivos móveis é quebrar paradigmas
  50. 53. Você não usa o celular como usa um computador !
  51. 54. Há coisas que só podem ser feitas com um celular!
  52. 55. Você não pode [nem deve] prever onde e quando seu App será usado.
  53. 56. Bons desenvolvedores conhecem vários programas
  54. 57. Bons desenvolvedores conhecem outros desenvolvedores
  55. 58. Bons desenvolvedores conhecem vários dispositivos
  56. 59. Apps que resolvem um problema
  57. 60. Apps que resolvem um problema que os usuários não sabem que tem
  58. 61. Feedback com bom senso
  59. 62. Android Building Blocks
  60. 63. Application
  61. 64. Activities
  62. 67. Views e Widgets
  63. 68. Services
  64. 69. Foreground Services
  65. 70. Broadcast Receivers
  66. 71. Notifications
  67. 72. Content Providers
  68. 73. Data Storage <ul><li>Shared Preferences </li></ul><ul><li>Internal Storage </li></ul><ul><li>External Storage </li></ul><ul><li>SQLite </li></ul><ul><li>Network Connection </li></ul>
  69. 74. Intents
  70. 75. Intents implícitos e intent filter
  71. 76. Resources <ul><li>Drawables </li></ul><ul><li>Layouts </li></ul><ul><li>Values </li></ul><ul><li>XML </li></ul><ul><li>Menu </li></ul><ul><li>Animations </li></ul><ul><li>RAW </li></ul>
  72. 77. <ul><li>Tamanhos e densidades de telas </li></ul><ul><li>Orientação do dispositivo </li></ul><ul><li>Funções do dispositivo (Teclado, Touch) </li></ul><ul><li>Localização </li></ul><ul><li>Versão do Android </li></ul>Alternative Resources
  73. 78. AndroidManifest.xml
  74. 79. Debug e teste Emulador x Device
  75. 80. Publicando sua App <ul><li>Chaves </li></ul><ul><li>Assinatura </li></ul><ul><li>Alinhamento </li></ul><ul><li>Versionamento </li></ul><ul><li>Teste </li></ul><ul><li>Mais teste </li></ul><ul><li>APK </li></ul>
  76. 81. Android Market <ul><li>Regras do Market </li></ul><ul><li>Conta de desenvolvedor </li></ul><ul><li>US$ 25,00 </li></ul><ul><li>Licenciamento </li></ul><ul><li>In-App Billing </li></ul><ul><li>Teste </li></ul><ul><li>Bom senso </li></ul><ul><li>Usuários </li></ul>
  77. 82. Mais Recursos <ul><li>http://developer.android.com </li></ul><ul><li>http://portalandroid.org </li></ul><ul><li>http://www.androidbrasil.com </li></ul><ul><li>http://diariodoandroid.com.br </li></ul><ul><li>http://www.euandroid.com.br </li></ul><ul><li>http://vidamovelblog.com </li></ul>
  78. 83. ?
  79. 84. Obrigado! ciello [at] gmail [dot] com @gustavociello

×