Boas práticas para
desenvolvimento
Mobile
Marcelo Quinta

domingo, 15 de dezembro de 13
7 anos com Mobile
Medicina

Eventos

Guia Diversão
Animação digital

M-commerce Fotografia
Publicidade PDV
Sertanejo
doming...
Isso é um computador
Processador

Conexão com internet

Teclado

Placa gráfica

Memória

Memória secundária

Tem aplicações...
Isso não é um
computador
Processador

Conexão com internet

Teclado

Placa gráfica

Memória

Memória secundária

Tem aplica...
domingo, 15 de dezembro de 13
domingo, 15 de dezembro de 13
domingo, 15 de dezembro de 13
Restrições de sistema
• Conexões só na thread secundária
• Você não pode acessar tudo
• Existem processos que podem ter ma...
Tempo de resposta
domingo, 15 de dezembro de 13
Diferentes plataformas

Diferentes designs
domingo, 15 de dezembro de 13
domingo, 15 de dezembro de 13
Aqui é diferente
•

“Meu aplicativo vai fazer o computador desligar
rapidinho”

•

“Meu aplicativo só roda em um certo tip...
Mesma plataforma

Diferentes designs
domingo, 15 de dezembro de 13
Os componentes de
interface são diferentes

domingo, 15 de dezembro de 13
Emulador?

domingo, 15 de dezembro de 13
3G é TIM
É o pior cenário possível

domingo, 15 de dezembro de 13
Threads e assincronia

domingo, 15 de dezembro de 13
Ciclo de vida

domingo, 15 de dezembro de 13
Reuso
Moço,bora
tomar uma
cerveja!

Design
Início difícil
domingo, 15 de dezembro de 13

Velocidade

Atualização
Antigamente tinha...

http://www.theultimateandroidlibrary.com/

domingo, 15 de dezembro de 13
Onde encontrar

http://www.openintents.org/en/libraries

domingo, 15 de dezembro de 13
Onde encontrar

http://www.androidviews.net

domingo, 15 de dezembro de 13
Bibliotecas do Google

domingo, 15 de dezembro de 13
Bibliotecas do Google
Mapas

Calendar

Youtube

Game Service

Google Play

Latitude

Google Drive
...

Translate
...

http...
ACTIONBAR PARA VERSÕES
ANTIGAS

Ou procure o projeto AppCompat

domingo, 15 de dezembro de 13
Collapsible Search Menu

https://github.com/johnkil/Android-CollapsibleSearchMenu
domingo, 15 de dezembro de 13
Android Form Validator

https://github.com/throrin19/Android-Validator
domingo, 15 de dezembro de 13
PullToRefresh

https://github.com/throrin19/Android-Validator
domingo, 15 de dezembro de 13
ViewPager

http://viewpagerindicator.com/

domingo, 15 de dezembro de 13
Android Annotations

http://androidannotations.org/

domingo, 15 de dezembro de 13
Joda Time

http://joda-time.sourceforge.net/

domingo, 15 de dezembro de 13
SlidingMenu

https://github.com/jfeinstein10/SlidingMenu

domingo, 15 de dezembro de 13
Android Asset Studio

http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

domingo, 15 de dezembro de 1...
GSON

https://code.google.com/p/google-gson/

domingo, 15 de dezembro de 13
Esqueci alguma?
ORMLite
Android jQuery

Volley
Aquery

domingo, 15 de dezembro de 13
E para iOS?

Texto

domingo, 15 de dezembro de 13
Onde encontrar

http://www.github.com
domingo, 15 de dezembro de 13
Onde encontrar

https://www.cocoacontrols.com/
domingo, 15 de dezembro de 13
Onde encontrar

http://www.raywenderlich.com/
domingo, 15 de dezembro de 13
JBAsyncImageView

https://github.com/bunchjesse/JBAsyncImageView

domingo, 15 de dezembro de 13
GPUImage

https://github.com/BradLarson/GPUImage

domingo, 15 de dezembro de 13
SDURLCache

https://github.com/steipete/SDURLCache

domingo, 15 de dezembro de 13
MBProgressHUD

https://github.com/jdg/MBProgressHUD
domingo, 15 de dezembro de 13
JASidePanels

https://github.com/gotosleep/JASidePanels
domingo, 15 de dezembro de 13
RestKit

http://restkit.org/

domingo, 15 de dezembro de 13
JSONKit

https://github.com/johnezang/JSONKit

domingo, 15 de dezembro de 13
SJNotificationViewController

https://github.com/scottjacksonx/SJNotificationViewController

domingo, 15 de dezembro de 13
Esqueci alguma?
CorePlot

iRate

iVersion

domingo, 15 de dezembro de 13
Cuidado
A compatibilidade não é para todas as versões;
Muitos bugs
Que tal um fork?
Algumas gambiarras que seu código vai ...
Desenvolvimento híbrido?
domingo, 15 de dezembro de 13
HTML5 vai matar
aplicações nativas
Monetização
Personalização
domingo, 15 de dezembro de 13

Distribuição
Sensores
PENSE MÓVEL
(PRIMEIRO)

domingo, 15 de dezembro de 13
FIM
domingo, 15 de dezembro de 13
Próximos SlideShares
Carregando em…5
×

Boas práticas de desenvolvimento Móvel

3.379 visualizações

Publicada em

Apresentação sobre boas práticas e lições aprendidas no desenvolvimento de aplicativos para Android, iOS e Windows Phone, minhas opiniões sobre apps híbridas, etc. Também coloquei alguns slides de ferramentas que ajudam na vida de programador para #mobile.

Publicada em: Tecnologia

Boas práticas de desenvolvimento Móvel

  1. 1. Boas práticas para desenvolvimento Mobile Marcelo Quinta domingo, 15 de dezembro de 13
  2. 2. 7 anos com Mobile Medicina Eventos Guia Diversão Animação digital M-commerce Fotografia Publicidade PDV Sertanejo domingo, 15 de dezembro de 13
  3. 3. Isso é um computador Processador Conexão com internet Teclado Placa gráfica Memória Memória secundária Tem aplicações domingo, 15 de dezembro de 13 Sistema operacional
  4. 4. Isso não é um computador Processador Conexão com internet Teclado Placa gráfica Memória Memória secundária Tem aplicações domingo, 15 de dezembro de 13 Sistema operacional
  5. 5. domingo, 15 de dezembro de 13
  6. 6. domingo, 15 de dezembro de 13
  7. 7. domingo, 15 de dezembro de 13
  8. 8. Restrições de sistema • Conexões só na thread secundária • Você não pode acessar tudo • Existem processos que podem ter mais prioridade • A conexão é ruim • Você precisa da permissão • Diferentes suporte a mídias domingo, 15 de dezembro de 13
  9. 9. Tempo de resposta domingo, 15 de dezembro de 13
  10. 10. Diferentes plataformas Diferentes designs domingo, 15 de dezembro de 13
  11. 11. domingo, 15 de dezembro de 13
  12. 12. Aqui é diferente • “Meu aplicativo vai fazer o computador desligar rapidinho” • “Meu aplicativo só roda em um certo tipo de PC” • “Meu sistema web sempre deve seguir as regras da W3C, senão não vão deixar publicar” • • “E se o usuário rodar o monitor?” “Roda em PC. E quando eu abrir no notebook?” domingo, 15 de dezembro de 13
  13. 13. Mesma plataforma Diferentes designs domingo, 15 de dezembro de 13
  14. 14. Os componentes de interface são diferentes domingo, 15 de dezembro de 13
  15. 15. Emulador? domingo, 15 de dezembro de 13
  16. 16. 3G é TIM É o pior cenário possível domingo, 15 de dezembro de 13
  17. 17. Threads e assincronia domingo, 15 de dezembro de 13
  18. 18. Ciclo de vida domingo, 15 de dezembro de 13
  19. 19. Reuso Moço,bora tomar uma cerveja! Design Início difícil domingo, 15 de dezembro de 13 Velocidade Atualização
  20. 20. Antigamente tinha... http://www.theultimateandroidlibrary.com/ domingo, 15 de dezembro de 13
  21. 21. Onde encontrar http://www.openintents.org/en/libraries domingo, 15 de dezembro de 13
  22. 22. Onde encontrar http://www.androidviews.net domingo, 15 de dezembro de 13
  23. 23. Bibliotecas do Google domingo, 15 de dezembro de 13
  24. 24. Bibliotecas do Google Mapas Calendar Youtube Game Service Google Play Latitude Google Drive ... Translate ... https://code.google.com/apis/console/ domingo, 15 de dezembro de 13
  25. 25. ACTIONBAR PARA VERSÕES ANTIGAS Ou procure o projeto AppCompat domingo, 15 de dezembro de 13
  26. 26. Collapsible Search Menu https://github.com/johnkil/Android-CollapsibleSearchMenu domingo, 15 de dezembro de 13
  27. 27. Android Form Validator https://github.com/throrin19/Android-Validator domingo, 15 de dezembro de 13
  28. 28. PullToRefresh https://github.com/throrin19/Android-Validator domingo, 15 de dezembro de 13
  29. 29. ViewPager http://viewpagerindicator.com/ domingo, 15 de dezembro de 13
  30. 30. Android Annotations http://androidannotations.org/ domingo, 15 de dezembro de 13
  31. 31. Joda Time http://joda-time.sourceforge.net/ domingo, 15 de dezembro de 13
  32. 32. SlidingMenu https://github.com/jfeinstein10/SlidingMenu domingo, 15 de dezembro de 13
  33. 33. Android Asset Studio http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html domingo, 15 de dezembro de 13
  34. 34. GSON https://code.google.com/p/google-gson/ domingo, 15 de dezembro de 13
  35. 35. Esqueci alguma? ORMLite Android jQuery Volley Aquery domingo, 15 de dezembro de 13
  36. 36. E para iOS? Texto domingo, 15 de dezembro de 13
  37. 37. Onde encontrar http://www.github.com domingo, 15 de dezembro de 13
  38. 38. Onde encontrar https://www.cocoacontrols.com/ domingo, 15 de dezembro de 13
  39. 39. Onde encontrar http://www.raywenderlich.com/ domingo, 15 de dezembro de 13
  40. 40. JBAsyncImageView https://github.com/bunchjesse/JBAsyncImageView domingo, 15 de dezembro de 13
  41. 41. GPUImage https://github.com/BradLarson/GPUImage domingo, 15 de dezembro de 13
  42. 42. SDURLCache https://github.com/steipete/SDURLCache domingo, 15 de dezembro de 13
  43. 43. MBProgressHUD https://github.com/jdg/MBProgressHUD domingo, 15 de dezembro de 13
  44. 44. JASidePanels https://github.com/gotosleep/JASidePanels domingo, 15 de dezembro de 13
  45. 45. RestKit http://restkit.org/ domingo, 15 de dezembro de 13
  46. 46. JSONKit https://github.com/johnezang/JSONKit domingo, 15 de dezembro de 13
  47. 47. SJNotificationViewController https://github.com/scottjacksonx/SJNotificationViewController domingo, 15 de dezembro de 13
  48. 48. Esqueci alguma? CorePlot iRate iVersion domingo, 15 de dezembro de 13
  49. 49. Cuidado A compatibilidade não é para todas as versões; Muitos bugs Que tal um fork? Algumas gambiarras que seu código vai ter que herdar Funciona em tudo? domingo, 15 de dezembro de 13
  50. 50. Desenvolvimento híbrido? domingo, 15 de dezembro de 13
  51. 51. HTML5 vai matar aplicações nativas Monetização Personalização domingo, 15 de dezembro de 13 Distribuição Sensores
  52. 52. PENSE MÓVEL (PRIMEIRO) domingo, 15 de dezembro de 13
  53. 53. FIM domingo, 15 de dezembro de 13

×