palestra ddm

160
Desenvolvimento para disposi0vos móveis. Gustavo Graña, Lucas Fonseca, Rafael Leão

Upload: gustavo-grana

Post on 28-May-2015

188 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Palestra ddm

     

 Desenvolvimento  para  disposi0vos  

móveis.          

Gustavo  Graña,  Lucas  Fonseca,  Rafael  Leão  

Page 2: Palestra ddm

Gustavo  Graña  

•  Bacharel  em  Ciência  da  Computação  pela  UFPel    (2012).  

•   Desenvolvedor  mobile  na  Conrad  Caine  desde  2010.  •  Até  2010  desenvolvedor  backend  na  Voiza.  •  ggrana@conrad-­‐caine.com    

Desenvolvimento para dispositivos móveis

Page 3: Palestra ddm

Lucas  Fonseca  

•  Formado  em  Ciência  da  Computação  em  2010/2  –  UFPel    

•  Bolsista  do  grupo  LUPS  –  Computação  Pervasiva  •  Desenvolvedor  Mobile  na  Conrad  Caine  desde  02/2011    

•  Mestrado  em  Ciência  da  Computação  iniciado  em  2012/1  –  UFPel  

•  lfonseca@conrad-­‐caine.com  

Desenvolvimento para dispositivos móveis

Page 4: Palestra ddm

Rafael  Leão  

•  Bacharel  em  Ciência  da  Computação  pela  UFPel    (2010).  

•  Mestrando  em  Ciência  da  Computação  na  UFPel  .  •  Desenvolvedor  mobile  na  Conrad  Caine  desde  2011.  •  rleao@conrad-­‐caine.com    

Desenvolvimento para dispositivos móveis

Page 5: Palestra ddm

Conrad  Caine  

•  “CONRAD  CAINE  is  an  interna0onal  full  service  agency  that  offers  concepts,  design,  mo0on  and  technology  for  internet,  mobile,  social  media  and  e-­‐learning.  The  agency  was  founded  in  1998  and  now  employs  over  100  people  in  three  offices:  Munich,  Pelotas  and  Buenos  Aires.”  

•  www.conrad-­‐caine.com  

Desenvolvimento para dispositivos móveis

Page 6: Palestra ddm

INTRODUÇÃO  

 Então  ...  

Desenvolvimento para dispositivos móveis

Page 7: Palestra ddm

Introdução  • Ambientação  

Desenvolvimento para dispositivos móveis

Page 8: Palestra ddm

Introdução  • Ambientação  • Disposi0vos  

Desenvolvimento para dispositivos móveis

Page 9: Palestra ddm

Introdução  • Ambientação  • Disposi0vos  • Interface  

Desenvolvimento para dispositivos móveis

Page 10: Palestra ddm

Introdução  • Ambientação  • Disposi0vos  • Interface  • Gestos  

Desenvolvimento para dispositivos móveis

Page 11: Palestra ddm

Introdução  for  (SO*  atual  in  arraySOs)  {  

 [atual  historiaCurta];    [atual  principaisPontos];    [atual  comoComeçar];  

}  Desenvolvimento para dispositivos

móveis

Page 12: Palestra ddm

Introdução  • Mul0plataforma  

Desenvolvimento para dispositivos móveis

Page 13: Palestra ddm

Introdução  • Mul0plataforma  • Considerações  finais  

Desenvolvimento para dispositivos móveis

Page 14: Palestra ddm

AMBIENTAÇÃO  Introdução  

Desenvolvimento para dispositivos móveis

Page 15: Palestra ddm

Ambientação  • Os  três  principais  sistemas  operacionais  

Desenvolvimento para dispositivos móveis

Page 16: Palestra ddm

Ambientação  • Windows  Phone  

Desenvolvimento para dispositivos móveis

Page 17: Palestra ddm

Ambientação  • Windows  Phone  • Android  

Desenvolvimento para dispositivos móveis

Page 18: Palestra ddm

Ambientação  • Windows  Phone  • Android  • Symbian  

Desenvolvimento para dispositivos móveis

Page 19: Palestra ddm

Ambientação  • Windows  Phone  • Android  • Symbian  

Desenvolvimento para dispositivos móveis

Page 20: Palestra ddm

Ambientação  • Windows  Phone  • Android  • iOS  

Desenvolvimento para dispositivos móveis

Page 21: Palestra ddm

Ambientação  • Windows  Phone  ?  

Desenvolvimento para dispositivos móveis

Page 22: Palestra ddm

ORIENTAÇÃO  A  OBJETOS  

 visão  geral  

Desenvolvimento para dispositivos móveis

Page 23: Palestra ddm

Orientação  a  objetos  • APRENDAM  

Desenvolvimento para dispositivos móveis

Page 24: Palestra ddm

MVC  

 visão  geral  

Desenvolvimento para dispositivos móveis

Page 25: Palestra ddm

MVC  • O  que  é?    

Desenvolvimento para dispositivos móveis

Page 26: Palestra ddm

MVC  • Model    

Desenvolvimento para dispositivos móveis

Page 27: Palestra ddm

MVC  • Model  • View    

Desenvolvimento para dispositivos móveis

Page 28: Palestra ddm

MVC  • Model  • View  • Controller    

Desenvolvimento para dispositivos móveis

Page 29: Palestra ddm

MVC  • Rails  • Zend  • Django       Desenvolvimento para dispositivos

móveis

Page 30: Palestra ddm

MVC  • APRENDAM  

Desenvolvimento para dispositivos móveis

Page 31: Palestra ddm

DISPOSITIVOS  

 visão  geral  

Desenvolvimento para dispositivos móveis

Page 32: Palestra ddm

Disposi0vos  •  iOS    

Desenvolvimento para dispositivos móveis

Page 33: Palestra ddm

Disposi0vos  • Android    

Desenvolvimento para dispositivos móveis

Page 34: Palestra ddm

Disposi0vos  • Windows  Phone    

Desenvolvimento para dispositivos móveis

Page 35: Palestra ddm

INTERFACE  AO  USUÁRIO  

 Desenvolvimento  

Desenvolvimento para dispositivos móveis

Page 36: Palestra ddm

Interface  ao  usuário  • Cada  plataforma  tem  sua  concepção  visual  

Desenvolvimento para dispositivos móveis

Page 37: Palestra ddm

Interface  ao  usuário  • Cada  plataforma  tem  sua  concepção  visual  

• Componentes  

Desenvolvimento para dispositivos móveis

Page 38: Palestra ddm

Exemplo  

Desenvolvimento para dispositivos móveis

Page 39: Palestra ddm

Exemplo  

Desenvolvimento para dispositivos móveis

Page 40: Palestra ddm

Exemplo  

Desenvolvimento para dispositivos móveis

Page 41: Palestra ddm

GESTOS    

 Desenvolvimento  

Desenvolvimento para dispositivos móveis

Page 42: Palestra ddm

Gestos  • Tap  

Desenvolvimento para dispositivos móveis

Page 43: Palestra ddm

Gestos  • Long  Press  

Desenvolvimento para dispositivos móveis

Page 44: Palestra ddm

Gestos  • Pan  

Desenvolvimento para dispositivos móveis

Page 45: Palestra ddm

Gestos  • Swipe  

Desenvolvimento para dispositivos móveis

Page 46: Palestra ddm

Gestos  • Pinch  

Desenvolvimento para dispositivos móveis

Page 47: Palestra ddm

Gestos  • Rotate  

Desenvolvimento para dispositivos móveis

Page 48: Palestra ddm

ORIENTAÇÃO    

 Desenvolvimento  

Desenvolvimento para dispositivos móveis

Page 49: Palestra ddm

Orientação  • Portrait  

–   Retrato  

Desenvolvimento para dispositivos móveis

Page 50: Palestra ddm

Orientação  • Landscape  

–   Paisagem  

Desenvolvimento para dispositivos móveis

Page 51: Palestra ddm

Desenvolvimento para dispositivos móveis

Page 52: Palestra ddm

Desenvolvimento para dispositivos móveis

Page 53: Palestra ddm

Android  • Caracterís0cas  

Desenvolvimento para dispositivos móveis

Page 54: Palestra ddm

Android  • Caracterís0cas  • Lançamento  

Desenvolvimento para dispositivos móveis

Page 55: Palestra ddm

Android  • Caracterís0cas  • Lançamento  • Crescimento  

Desenvolvimento para dispositivos móveis

Page 56: Palestra ddm

Google  Play  •   Cadastro  ($25)    

Desenvolvimento para dispositivos móveis

Page 57: Palestra ddm

Google  Play  •   Cadastro  ($25)  •   675.000  apps  

Desenvolvimento para dispositivos móveis

Page 58: Palestra ddm

Google  Play  •   Cadastro  ($25)  •   675.000  apps  •   25  bilhões  de  downloads  

Desenvolvimento para dispositivos móveis

Page 59: Palestra ddm

Google  Play  •   Cadastro  ($25)  •   675.000  apps  •   25  bilhões  de  downloads  •   Sem  processo  de  revisão  

Desenvolvimento para dispositivos móveis

Page 60: Palestra ddm

DESAFIOS    

 Android  

Desenvolvimento para dispositivos móveis

Page 61: Palestra ddm

Desafios  • A  tela  

Desenvolvimento para dispositivos móveis

Page 62: Palestra ddm

Desafios  • A  tela  

–   Tamanho  

Desenvolvimento para dispositivos móveis

Page 63: Palestra ddm

Desafios  • A  tela  

–   Tamanho  –   Densidade  

Desenvolvimento para dispositivos móveis

Page 64: Palestra ddm

Desafios  • A  tela  • Fragmentação  

Desenvolvimento para dispositivos móveis

Page 65: Palestra ddm

Fragmentação  

Desenvolvimento para dispositivos móveis

Page 66: Palestra ddm

Fragmentação  • Causa  

Desenvolvimento para dispositivos móveis

Page 67: Palestra ddm

Fragmentação  • Causa  • Consequências  

Desenvolvimento para dispositivos móveis

Page 68: Palestra ddm

DESTAQUE    

 Android  

Desenvolvimento para dispositivos móveis

Page 69: Palestra ddm

Destaque  • Emulador  

Desenvolvimento para dispositivos móveis

Page 70: Palestra ddm

Destaque  • Emulador  • Grande  quan0dade  de  usuários  

Desenvolvimento para dispositivos móveis

Page 71: Palestra ddm

Destaque  • Emulador  • Grande  quan0dade  de  usuários  • Desenvolvimento  em  qualquer  SO  

Desenvolvimento para dispositivos móveis

Page 72: Palestra ddm

COMEÇANDO    

 Android  

Desenvolvimento para dispositivos móveis

Page 73: Palestra ddm

Começando  • Java  

Desenvolvimento para dispositivos móveis

Page 74: Palestra ddm

Começando  • Java  • Eclipse  

Desenvolvimento para dispositivos móveis

Page 75: Palestra ddm

Começando  • Java  • Eclipse  • Mac,  Linux  ou  Windows  

Desenvolvimento para dispositivos móveis

Page 76: Palestra ddm

Começando  • h}p://developer.android.com/index.htm  

Desenvolvimento para dispositivos móveis

Page 77: Palestra ddm

Começando  • h}p://developer.android.com/guide/index.html  

• h}p://developer.android.com/guide/prac0ces/ui_guidelines/index.html  

Desenvolvimento para dispositivos móveis

Page 78: Palestra ddm

Desenvolvimento para dispositivos móveis

Page 79: Palestra ddm

Desenvolvimento para dispositivos móveis

Page 80: Palestra ddm

Desenvolvimento para dispositivos móveis

Page 81: Palestra ddm

Windows  phone  • Lançamento  

Desenvolvimento para dispositivos móveis

Page 82: Palestra ddm

Windows  phone  • Lançamento  

–   Windows  phone  8  

Desenvolvimento para dispositivos móveis

Page 83: Palestra ddm

Windows  phone  • Lançamento  • Caracterís0cas  

Desenvolvimento para dispositivos móveis

Page 84: Palestra ddm

Windows  phone  • Lançamento  • Caracterís0cas  • Integração  

Desenvolvimento para dispositivos móveis

Page 85: Palestra ddm

Botões  �sicos  

Desenvolvimento para dispositivos móveis

Page 86: Palestra ddm

Market  Place  • Cadastro  ($99)  

Desenvolvimento para dispositivos móveis

Page 87: Palestra ddm

Market  Place  • Cadastro  ($99)  • Possui  processo  de  revisão  

Desenvolvimento para dispositivos móveis

Page 88: Palestra ddm

Market  Place  • Cadastro  ($99)  • Possui  processo  de  revisão  • Mais  de  100.000  aplica0vos  

Desenvolvimento para dispositivos móveis

Page 89: Palestra ddm

DESTAQUE    

 Windows  phone  

Desenvolvimento para dispositivos móveis

Page 90: Palestra ddm

Destaque  • Tela    

Desenvolvimento para dispositivos móveis

Page 91: Palestra ddm

Destaque  • Tela  • Material    

Desenvolvimento para dispositivos móveis

Page 92: Palestra ddm

Destaque  • Tela  • Material  • Frameworks    

Desenvolvimento para dispositivos móveis

Page 93: Palestra ddm

Frameworks  

Desenvolvimento para dispositivos móveis

Page 94: Palestra ddm

POTENCIAL  

 Windows  phone  

Desenvolvimento para dispositivos móveis

Page 95: Palestra ddm

Potencial  • Customização      

Desenvolvimento para dispositivos móveis

Page 96: Palestra ddm

Potencial  • Customização  • Alterna0va    

Desenvolvimento para dispositivos móveis

Page 97: Palestra ddm

Potencial  • Customização  • Alterna0va  • Crescimento  

  Desenvolvimento para dispositivos móveis

Page 98: Palestra ddm

COMEÇANDO  

 Windows  phone  

Desenvolvimento para dispositivos móveis

Page 99: Palestra ddm

Começando  • h}p://msdn.microso�.com/pt-­‐br/default.aspx  

 

Desenvolvimento para dispositivos móveis

Page 100: Palestra ddm

Desenvolvimento para dispositivos móveis

Page 101: Palestra ddm

Começando  • h}p://msdn.microso�.com/en-­‐us/library/hh202915(v=vs.92).aspx  

 

Desenvolvimento para dispositivos móveis

Page 102: Palestra ddm

Começando  • C#  

Desenvolvimento para dispositivos móveis

Page 103: Palestra ddm

Começando  • C#  • Visual  studio  for  windows  phone  

Desenvolvimento para dispositivos móveis

Page 104: Palestra ddm

Começando  • C#  • Visual  studio  for  windows  phone  • Windows  

Desenvolvimento para dispositivos móveis

Page 105: Palestra ddm

Desenvolvimento para dispositivos móveis

Page 106: Palestra ddm

Desenvolvimento para dispositivos móveis

Page 107: Palestra ddm

iOS  • Finalmente!  

Desenvolvimento para dispositivos móveis

Page 108: Palestra ddm

iOS  • Lançamento  

Desenvolvimento para dispositivos móveis

Page 109: Palestra ddm

iOS  • Lançamento  

–   2007  

Desenvolvimento para dispositivos móveis

Page 110: Palestra ddm

iOS  • Lançamento  • Disposi0vos  

Desenvolvimento para dispositivos móveis

Page 111: Palestra ddm

iOS  • Lançamento  • Disposi0vos  

–   iPhone  (normal,  re0na  e  5)  –   iPad  (normal  e  re0na)  

Desenvolvimento para dispositivos móveis

Page 112: Palestra ddm

App  Store  • Cadastro  ($99)  

Desenvolvimento para dispositivos móveis

Page 113: Palestra ddm

App  Store  • Cadastro  ($99)  • Sujeito  a  processo  de  aprovação  

Desenvolvimento para dispositivos móveis

Page 114: Palestra ddm

DESTAQUE  

 iOS  

Desenvolvimento para dispositivos móveis

Page 115: Palestra ddm

Destaque  • Consolidado  

Desenvolvimento para dispositivos móveis

Page 116: Palestra ddm

Destaque  • Consolidado  

–   Primeiro  SO  mobile  de  sucesso  

Desenvolvimento para dispositivos móveis

Page 117: Palestra ddm

Destaque  • Consolidado  • Frameworks  

Desenvolvimento para dispositivos móveis

Page 118: Palestra ddm

Frameworks  • Na0vos    

Desenvolvimento para dispositivos móveis

Page 119: Palestra ddm

Frameworks  • Na0vos  

–   Founda0on  –   Cocoa  Touch  

Desenvolvimento para dispositivos móveis

Page 120: Palestra ddm

Frameworks  • Na0vos  • Terceiros  

Desenvolvimento para dispositivos móveis

Page 121: Palestra ddm

Frameworks  • Na0vos  • Terceiros  

–   Three20  (Facebook)  –   Twi}er  Engine  (Twi}erific)  

Desenvolvimento para dispositivos móveis

Page 122: Palestra ddm

Destaque  • Documentação  

Desenvolvimento para dispositivos móveis

Page 123: Palestra ddm

Destaque  • Documentação  

–   Site  e  XCode  

Desenvolvimento para dispositivos móveis

Page 124: Palestra ddm

Destaque  • Documentação  • Variedade  de  Disposi0vos  

Desenvolvimento para dispositivos móveis

Page 125: Palestra ddm

Destaque  • Documentação  • Variedade  de  Disposi0vos  • ARC  

Desenvolvimento para dispositivos móveis

Page 126: Palestra ddm

Destaque  • Documentação  • Variedade  de  Disposi0vos  • ARC  (Amém)  

–   Diminui  a  complexidade  de  gerenciamento  de  memória  

Desenvolvimento para dispositivos móveis

Page 127: Palestra ddm

OBJECTIVE  C  

 iOS  

Desenvolvimento para dispositivos móveis

Page 128: Palestra ddm

Objec0ve-­‐C  • C  

Desenvolvimento para dispositivos móveis

Page 129: Palestra ddm

Objec0ve-­‐C  • C  • Algumas  peculiaridades  

Desenvolvimento para dispositivos móveis

Page 130: Palestra ddm

Objec0ve-­‐C  

Desenvolvimento para dispositivos móveis

Page 131: Palestra ddm

Objec0ve-­‐C  

Desenvolvimento para dispositivos móveis

Page 132: Palestra ddm

Objec0ve-­‐C  

Desenvolvimento para dispositivos móveis

Page 133: Palestra ddm

Objec0ve-­‐C  Java  public  void  insertObjectAtIndex(Object  o,  int  index)    

Objec:ve  c  -­‐  (void)insertObject:  (id)object  atIndex:  (int)index  

Desenvolvimento para dispositivos móveis

Page 134: Palestra ddm

Objec0ve-­‐C  • C  • Algumas  peculiaridades  • Protocols  

Desenvolvimento para dispositivos móveis

Page 135: Palestra ddm

COMEÇANDO  

 iOS  

Desenvolvimento para dispositivos móveis

Page 136: Palestra ddm

Começando  • h}ps://developer.apple.com/devcenter/ios/index.ac0on  

Desenvolvimento para dispositivos móveis

Page 137: Palestra ddm

Desenvolvimento para dispositivos móveis

Page 138: Palestra ddm

Começando  •  h}ps://developer.apple.com/appstore/guidelines.html  

•  h}p://developer.apple.com/library/ios/#documenta0on/UserExperience/Conceptual/MobileHIG/Introduc0on/Introduc0on.html  

Desenvolvimento para dispositivos móveis

Page 139: Palestra ddm

Começando  • Objec0ve-­‐C  

Desenvolvimento para dispositivos móveis

Page 140: Palestra ddm

Começando  • Objec0ve-­‐C  • XCode  

Desenvolvimento para dispositivos móveis

Page 141: Palestra ddm

Começando  • Objec0ve-­‐C  • XCode  • Mac  Intel,  OS  X+  

Desenvolvimento para dispositivos móveis

Page 142: Palestra ddm

Começando  • Cadastro  

Desenvolvimento para dispositivos móveis

Page 143: Palestra ddm

Começando  • Cadastro  • SDK  

Desenvolvimento para dispositivos móveis

Page 144: Palestra ddm

Começando  • Cadastro  • SDK  • Ferramentas  

Desenvolvimento para dispositivos móveis

Page 145: Palestra ddm

Ferramentas  • XCode  

Desenvolvimento para dispositivos móveis

Page 146: Palestra ddm

Ferramentas  • XCode  

– Interface  builder  

Desenvolvimento para dispositivos móveis

Page 147: Palestra ddm

Ferramentas  • XCode  

– Interface  builder  • Ferramentas  de  profile  

Desenvolvimento para dispositivos móveis

Page 148: Palestra ddm

Desenvolvimento para dispositivos móveis

Page 149: Palestra ddm

MULTIPLATAFORMA  

 Desenvolvimento  

Desenvolvimento para dispositivos móveis

Page 150: Palestra ddm

Mul0plataforma  • Várias  opções  

 

Desenvolvimento para dispositivos móveis

Page 151: Palestra ddm

Mul0plataforma  • Várias  opções  • Variadas  linguagens  

 Desenvolvimento para dispositivos

móveis

Page 152: Palestra ddm

Mul0plataforma  • Várias  opções  • Variadas  linguagens  • Resultado  

  Desenvolvimento para dispositivos móveis

Page 153: Palestra ddm

MERCADO  

 Considerações finais  

Desenvolvimento para dispositivos móveis

Page 154: Palestra ddm

Venda  de  disposi0vos  

     

Desenvolvimento para dispositivos móveis

Page 155: Palestra ddm

Venda  de  disposi0vos  

     

Desenvolvimento para dispositivos móveis

Page 156: Palestra ddm

Lojas  de  Aplica0vos  

Fonte:  Gartner  (09/12)    Em  milhões  

Desenvolvimento para dispositivos móveis

2011   2012   2013   2014   2015   2016  

App  Gratuítos  

20044   40599   73280   119842   188946   287933  

Apps  Pagos  

2893   5018   8142   11853   16430   21672  

Total   24936   45617   81422   131695   205376   309606  

Page 157: Palestra ddm

OPORTUNIDADES  

 Considerações finais  

Desenvolvimento para dispositivos móveis

Page 158: Palestra ddm

LINGUAGEM  

 Adendo,  a  melhor  

Desenvolvimento para dispositivos móveis

Page 159: Palestra ddm

PONTO  

 Não  existe  

Desenvolvimento para dispositivos móveis

Page 160: Palestra ddm

Perguntas  ?  ggrana@conrad-­‐caine.com  lfonseca@conrad-­‐caine.com  rleao@conrad-­‐caine.com  

 Desenvolvimento para dispositivos

móveis