I palestra

161
iPalestra Desenvolvendo para disposi0vos móveis. Gustavo Graña

Transcript of I palestra

Page 1: I palestra

iPalestra  

Desenvolvendo  para  disposi0vos  móveis.          

Gustavo  Graña  

Page 2: I palestra

E  tu  é  quem  mesmo  ?  

•  Formando  do  curso  de  ciência  da  computação  da  UFPel.  

•  Desenvolvedor  backend  (java)  até  2010.  •  Desenvolvedor  mobile  desde  2010.  •  Entre  2008  e  2010  par0cipei  de  projetos  no  GAIA  e  posteriormente  no  GACI  

•  Em  breve,  espero,  aluno  do  mestrado.    

iPalestra - Gustavo Graña - SAComp 2

Page 3: I palestra

E  para  falar  con0go  ?  

[email protected]

@ggrana

/gustavoggs

www.addplus.com/gustavo

ggrana

iPalestra - Gustavo Graña - SAComp 3

Page 4: I palestra

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.”  

•  h_p://www.conrad-­‐caine.com/  

iPalestra - Gustavo Graña - SAComp 4

Page 5: I palestra

INTRODUÇÃO  

 Então  ...  

iPalestra - Gustavo Graña - SAComp 5

Page 6: I palestra

Introdução  • Ambientação  

iPalestra - Gustavo Graña - SAComp 6

Page 7: I palestra

Introdução  • Ambientação  • Mercado  

iPalestra - Gustavo Graña - SAComp 7

Page 8: I palestra

Introdução  • Ambientação  • Mercado  • Disposi0vos  

iPalestra - Gustavo Graña - SAComp 8

Page 9: I palestra

Introdução  • Iden0dade  visual  

iPalestra - Gustavo Graña - SAComp 9

Page 10: I palestra

Introdução  • Iden0dade  visual  • Gestos  

iPalestra - Gustavo Graña - SAComp 10

Page 11: I palestra

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

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

}  iPalestra - Gustavo Graña - SAComp 11

Page 12: I palestra

AMBIENTAÇÃO  

 visão  geral  

iPalestra - Gustavo Graña - SAComp 12

Page 13: I palestra

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

iPalestra - Gustavo Graña - SAComp 13

Page 14: I palestra

Ambientação  • Windows  phone  

iPalestra - Gustavo Graña - SAComp 14

Page 15: I palestra

Ambientação  • Windows  phone  • Android  

iPalestra - Gustavo Graña - SAComp 15

Page 16: I palestra

Ambientação  • Windows  phone  • Android  • Symbian  

iPalestra - Gustavo Graña - SAComp 16

Page 17: I palestra

Ambientação  • Windows  phone  • Android  • Symbian  

iPalestra - Gustavo Graña - SAComp 17

Page 18: I palestra

Ambientação  • Windows  phone  • Android  • iOs  

iPalestra - Gustavo Graña - SAComp 18

Page 19: I palestra

Ambientação  • Windows  phone  ?  

iPalestra - Gustavo Graña - SAComp 19

Page 20: I palestra

O.O.  

 visão  geral  

iPalestra - Gustavo Graña - SAComp 20

Page 21: I palestra

Orientação  a  objetos  • APRENDAM  

iPalestra - Gustavo Graña - SAComp 21

Page 22: I palestra

MVC  

 visão  geral  

iPalestra - Gustavo Graña - SAComp 22

Page 23: I palestra

MVC  • APRENDAM  

iPalestra - Gustavo Graña - SAComp 23

Page 24: I palestra

MVC  • O  que  é?    

iPalestra - Gustavo Graña - SAComp 24

Page 25: I palestra

MVC  • Model    

iPalestra - Gustavo Graña - SAComp 25

Page 26: I palestra

MVC  • Model  • View    

iPalestra - Gustavo Graña - SAComp 26

Page 27: I palestra

MVC  • Model  • View  • Controller    

iPalestra - Gustavo Graña - SAComp 27

Page 28: I palestra

MVC  • Rails  • Zend  • Django       iPalestra - Gustavo Graña - SAComp 28

Page 29: I palestra

MERCADO  

 visão  geral  

iPalestra - Gustavo Graña - SAComp 29

Page 30: I palestra

Mercado  • Público-­‐alvo      

iPalestra - Gustavo Graña - SAComp 30

Page 31: I palestra

Mercado  • Público-­‐alvo  • Loja  de  aplica0vos  

iPalestra - Gustavo Graña - SAComp 31

Page 32: I palestra

Lojas  • Google  play  

–   Cadastro  ($25)  

iPalestra - Gustavo Graña - SAComp 32

Page 33: I palestra

Lojas  • Google  play  

–   Cadastro  ($25)  –   Sem  verificação  prévia  

iPalestra - Gustavo Graña - SAComp 33

Page 34: I palestra

Lojas  • Google  play  

–   Cadastro  ($25)  –   Sem  verificação  prévia  –   App  re0rada  posteriormente  

iPalestra - Gustavo Graña - SAComp 34

Page 35: I palestra

Lojas  • Market  

–   Cadastro  ($99)  

iPalestra - Gustavo Graña - SAComp 35

Page 36: I palestra

Lojas  • Market  

–   Cadastro  ($99)  –   Verificação  prévia  

iPalestra - Gustavo Graña - SAComp 36

Page 37: I palestra

Lojas  • Market  

–   Cadastro  ($99)  –   Verificação  prévia  –   Seguir  as  guidelines  

iPalestra - Gustavo Graña - SAComp 37

Page 38: I palestra

Lojas  • Apple  store  

–   Cadastro  ($99)  

iPalestra - Gustavo Graña - SAComp 38

Page 39: I palestra

Lojas  • Apple  store  

–   Cadastro  ($99)  –   Verificações  prévias  

iPalestra - Gustavo Graña - SAComp 39

Page 40: I palestra

Lojas  • Apple  store  

–   Cadastro  ($99)  –   Verificações  prévias  –   Seguir  as  guidelines  

iPalestra - Gustavo Graña - SAComp 40

Page 41: I palestra

DISPOSITIVOS  

 visão  geral  

iPalestra - Gustavo Graña - SAComp 41

Page 42: I palestra

Disposi0vos  • Android    

iPalestra - Gustavo Graña - SAComp 42

Page 43: I palestra

Disposi0vos  • Android  • Windows  phone    

iPalestra - Gustavo Graña - SAComp 43

Page 44: I palestra

Disposi0vos  • Android  • Windows  phone  •  iOs    

iPalestra - Gustavo Graña - SAComp 44

Page 45: I palestra

IDENTIDADE  VISUAL  

 Desenvolvimento  

iPalestra - Gustavo Graña - SAComp 45

Page 46: I palestra

Iden0dade  visual  • Cada  um  tem  a  sua  

iPalestra - Gustavo Graña - SAComp 46

Page 47: I palestra

Iden0dade  visual  • Cada  um  tem  a  sua  • Conforto  do  usuário  

iPalestra - Gustavo Graña - SAComp 47

Page 48: I palestra

Iden0dade  visual  • Cada  um  tem  a  sua  • Conforto  do  usuário  • Componentes  

iPalestra - Gustavo Graña - SAComp 48

Page 49: I palestra

Exemplo  • Aplica0vos  com  mais  de  uma  tela.  

iPalestra - Gustavo Graña - SAComp 49

Page 50: I palestra

Exemplo  

iPalestra - Gustavo Graña - SAComp 50

Page 51: I palestra

Exemplo  

iPalestra - Gustavo Graña - SAComp 51

Page 52: I palestra

Exemplo  

iPalestra - Gustavo Graña - SAComp 52

Page 53: I palestra

Exemplo  

iPalestra - Gustavo Graña - SAComp 53

Page 54: I palestra

Exemplo  

iPalestra - Gustavo Graña - SAComp 54

Page 55: I palestra

GESTOS    

 Desenvolvimento  

iPalestra - Gustavo Graña - SAComp 55

Page 56: I palestra

Gestos  • Tap  

iPalestra - Gustavo Graña - SAComp 56

Page 57: I palestra

Gestos  • Long  Press  

iPalestra - Gustavo Graña - SAComp 57

Page 58: I palestra

Gestos  • Pan  

iPalestra - Gustavo Graña - SAComp 58

Page 59: I palestra

Gestos  • Swipe  

iPalestra - Gustavo Graña - SAComp 59

Page 60: I palestra

Gestos  • Pinch  

iPalestra - Gustavo Graña - SAComp 60

Page 61: I palestra

Gestos  • Rotate  

iPalestra - Gustavo Graña - SAComp 61

Page 62: I palestra

ORIENTAÇÃO    

 Desenvolvimento  

iPalestra - Gustavo Graña - SAComp 62

Page 63: I palestra

Orientação  • Portrait  

–   Retrato  

iPalestra - Gustavo Graña - SAComp 63

Page 64: I palestra

Orientação  • Landscape  

–   Paisagem  

iPalestra - Gustavo Graña - SAComp 64

Page 65: I palestra

iPalestra - Gustavo Graña - SAComp 65

Page 66: I palestra

iPalestra - Gustavo Graña - SAComp 66

Page 67: I palestra

Android  • Lançamento  

iPalestra - Gustavo Graña - SAComp 67

Page 68: I palestra

Android  • Lançamento  • Crescimento  

iPalestra - Gustavo Graña - SAComp 68

Page 69: I palestra

Android  • Lançamento  • Crescimento  • Aplica0vos  

iPalestra - Gustavo Graña - SAComp 69

Page 70: I palestra

DESAFIOS    

 Android  

iPalestra - Gustavo Graña - SAComp 70

Page 71: I palestra

Desafios  • A  tela  

iPalestra - Gustavo Graña - SAComp 71

Page 72: I palestra

Termos  importantes  • Screen  Size  

– Tamanho  da  tela  

iPalestra - Gustavo Graña - SAComp 72

Page 73: I palestra

Termos  importantes  • Screen  density  

– Densidade  da  tela  

iPalestra - Gustavo Graña - SAComp 73

Page 74: I palestra

Termos  importantes  • Resolu0on  

–   Resolução  

iPalestra - Gustavo Graña - SAComp 74

Page 75: I palestra

Termos  importantes  • Density-­‐independent  pixel  (dp)  

–   Pixel  independente  de  densidade  

iPalestra - Gustavo Graña - SAComp 75

Page 76: I palestra

Termos  importantes  • Density-­‐independent  pixel  (dp)  

–   px  =  dp  *  (dpi  /  160)  –   240  dpi  1  dp  =  1,5  pixels  

iPalestra - Gustavo Graña - SAComp 76

Page 77: I palestra

Desafios  • A  tela  • Fragmentação  

iPalestra - Gustavo Graña - SAComp 77

Page 78: I palestra

Fragmentação  

iPalestra - Gustavo Graña - SAComp 78

Page 79: I palestra

Fragmentação  • Mo0vo  

iPalestra - Gustavo Graña - SAComp 79

Page 80: I palestra

Fragmentação  • Mo0vo  • Agiliza  fabricante  

iPalestra - Gustavo Graña - SAComp 80

Page 81: I palestra

Fragmentação  • Mo0vo  • Agiliza  fabricante  • Compa0bilidade  

iPalestra - Gustavo Graña - SAComp 81

Page 82: I palestra

Fragmentação  • Influência  no  desenvolvimento  

iPalestra - Gustavo Graña - SAComp 82

Page 83: I palestra

Fragmentação  • Influência  no  desenvolvimento  

–   Componentes  

iPalestra - Gustavo Graña - SAComp 83

Page 84: I palestra

Fragmentação  • Influência  no  desenvolvimento  

–   Componentes  –   Performance  

iPalestra - Gustavo Graña - SAComp 84

Page 85: I palestra

DESTAQUE    

 Android  

iPalestra - Gustavo Graña - SAComp 85

Page 86: I palestra

Destaque  • Emulador  

iPalestra - Gustavo Graña - SAComp 86

Page 87: I palestra

Destaque  • Emulador  • Grande  quan0dade  de  usuários  

iPalestra - Gustavo Graña - SAComp 87

Page 88: I palestra

Destaque  • Emulador  • Grande  quan0dade  de  usuários  • Escolha  o  SO  que  quer  desenvolver  

iPalestra - Gustavo Graña - SAComp 88

Page 89: I palestra

COMEÇANDO    

 Android  

iPalestra - Gustavo Graña - SAComp 89

Page 90: I palestra

Começando  • h_p://developer.android.com/index.htm  

iPalestra - Gustavo Graña - SAComp 90

Page 91: I palestra

iPalestra - Gustavo Graña - SAComp 91

Page 92: I palestra

Começando  • h_p://developer.android.com/guide/index.html  

• h_p://developer.android.com/guide/prac0ces/ui_guidelines/index.html  

iPalestra - Gustavo Graña - SAComp 92

Page 93: I palestra

Começando  • Java  

iPalestra - Gustavo Graña - SAComp 93

Page 94: I palestra

Começando  • Java  • Eclipse  

iPalestra - Gustavo Graña - SAComp 94

Page 95: I palestra

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

iPalestra - Gustavo Graña - SAComp 95

Page 96: I palestra

iPalestra - Gustavo Graña - SAComp 96

Page 97: I palestra

iPalestra - Gustavo Graña - SAComp 97

Page 98: I palestra

Windows  phone  • Lançamento  

iPalestra - Gustavo Graña - SAComp 98

Page 99: I palestra

Windows  phone  • Lançamento  • Conceito  

iPalestra - Gustavo Graña - SAComp 99

Page 100: I palestra

Windows  phone  • Lançamento  • Conceito  • Integração  

iPalestra - Gustavo Graña - SAComp 100

Page 101: I palestra

Botões  }sicos  

iPalestra - Gustavo Graña - SAComp 101

Page 102: I palestra

DESTAQUE    

 Windows  phone  

iPalestra - Gustavo Graña - SAComp 102

Page 103: I palestra

Destaque  • Tela    

iPalestra - Gustavo Graña - SAComp 103

Page 104: I palestra

Destaque  • Tela  • Material    

iPalestra - Gustavo Graña - SAComp 104

Page 105: I palestra

Destaque  • Tela  • Material  • Frameworks    

iPalestra - Gustavo Graña - SAComp 105

Page 106: I palestra

Frameworks  

iPalestra - Gustavo Graña - SAComp 106

Page 107: I palestra

MINHA  OPINIÃO  

 Windows  phone  

iPalestra - Gustavo Graña - SAComp 107

Page 108: I palestra

Minha  opinião  • Customização      

iPalestra - Gustavo Graña - SAComp 108

Page 109: I palestra

Minha  opinião  • Customização  • Alterna0va    

iPalestra - Gustavo Graña - SAComp 109

Page 110: I palestra

Minha  opinião  • Customização  • Alterna0va  • Crescimento  

  iPalestra - Gustavo Graña - SAComp 110

Page 111: I palestra

COMEÇANDO  

 Windows  phone  

iPalestra - Gustavo Graña - SAComp 111

Page 112: I palestra

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

 

iPalestra - Gustavo Graña - SAComp 112

Page 113: I palestra

iPalestra - Gustavo Graña - SAComp 113

Page 114: I palestra

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

 

iPalestra - Gustavo Graña - SAComp 114

Page 115: I palestra

Começando  • C#  

iPalestra - Gustavo Graña - SAComp 115

Page 116: I palestra

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

iPalestra - Gustavo Graña - SAComp 116

Page 117: I palestra

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

iPalestra - Gustavo Graña - SAComp 117

Page 118: I palestra

iPalestra - Gustavo Graña - SAComp 118

Page 119: I palestra

iPalestra - Gustavo Graña - SAComp 119

Page 120: I palestra

iOs  • Finalmente!  

iPalestra - Gustavo Graña - SAComp 120

Page 121: I palestra

iOs  • Lançamento  

iPalestra - Gustavo Graña - SAComp 121

Page 122: I palestra

iOs  • Lançamento  • Disposi0vos  

iPalestra - Gustavo Graña - SAComp 122

Page 123: I palestra

iOs  • Lançamento  • Disposi0vos  • App  Store  

iPalestra - Gustavo Graña - SAComp 123

Page 124: I palestra

DESTAQUE  

 iOs  

iPalestra - Gustavo Graña - SAComp 124

Page 125: I palestra

Destaque  • Consolidado  

iPalestra - Gustavo Graña - SAComp 125

Page 126: I palestra

Destaque  • Consolidado  

iPalestra - Gustavo Graña - SAComp 126

Page 127: I palestra

Destaque  • Consolidado  • Frameworks  

iPalestra - Gustavo Graña - SAComp 127

Page 128: I palestra

Frameworks  • Na0vos    

iPalestra - Gustavo Graña - SAComp 128

Page 129: I palestra

Frameworks  • Na0vos  • Terceiros  

iPalestra - Gustavo Graña - SAComp 129

Page 130: I palestra

Frameworks  • Na0vos  • Terceiros  

–   Muitas  para  jogos  

iPalestra - Gustavo Graña - SAComp 130

Page 131: I palestra

Destaque  • Material  

iPalestra - Gustavo Graña - SAComp 131

Page 132: I palestra

Destaque  • Material  • Disposi0vos  

iPalestra - Gustavo Graña - SAComp 132

Page 133: I palestra

Destaque  • Material  • Disposi0vos  • ARC  

iPalestra - Gustavo Graña - SAComp 133

Page 134: I palestra

OBJECTIVE  C  

 iOs  

iPalestra - Gustavo Graña - SAComp 134

Page 135: I palestra

Objec0ve  c  • C  

iPalestra - Gustavo Graña - SAComp 135

Page 136: I palestra

Objec0ve  c  • C  • Algumas  peculiaridades  

iPalestra - Gustavo Graña - SAComp 136

Page 137: I palestra

Objec0ve  c  

iPalestra - Gustavo Graña - SAComp 137

Page 138: I palestra

Objec0ve  c  

iPalestra - Gustavo Graña - SAComp 138

Page 139: I palestra

Objec0ve  c  

iPalestra - Gustavo Graña - SAComp 139

Page 140: I palestra

Objec0ve  c  Java  public  void  insertObjectAtIndex(Object  o,  int  index)    

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

iPalestra - Gustavo Graña - SAComp 140

Page 141: I palestra

Objec0ve  c  • C  • Algumas  peculiaridades  • Protocols  

iPalestra - Gustavo Graña - SAComp 141

Page 142: I palestra

COMEÇANDO  

 iOs  

iPalestra - Gustavo Graña - SAComp 142

Page 143: I palestra

Começando  • h_ps://developer.apple.com/devcenter/ios/index.ac0on  

iPalestra - Gustavo Graña - SAComp 143

Page 144: I palestra

iPalestra - Gustavo Graña - SAComp 144

Page 145: I palestra

Começando  •  h_ps://developer.apple.com/appstore/guidelines.html  

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

iPalestra - Gustavo Graña - SAComp 145

Page 146: I palestra

Começando  • Objec0ve  c  

iPalestra - Gustavo Graña - SAComp 146

Page 147: I palestra

Começando  • Objec0ve  c  • XCode  

iPalestra - Gustavo Graña - SAComp 147

Page 148: I palestra

Começando  • Objec0ve  c  • Xcode  • Mac  Intel,  OS  X+  

iPalestra - Gustavo Graña - SAComp 148

Page 149: I palestra

Começando  • Cadastro  

iPalestra - Gustavo Graña - SAComp 149

Page 150: I palestra

Começando  • Cadastro  • sdk  

iPalestra - Gustavo Graña - SAComp 150

Page 151: I palestra

Começando  • Cadastro  • sdk  • Ferramentas  

iPalestra - Gustavo Graña - SAComp 151

Page 152: I palestra

Ferramentas  • XCode  

iPalestra - Gustavo Graña - SAComp 152

Page 153: I palestra

Ferramentas  • Xcode  

– Interface  builder  

iPalestra - Gustavo Graña - SAComp 153

Page 154: I palestra

Ferramentas  • Xcode  

– Interface  builder  • Ferramentas  de  profile  

iPalestra - Gustavo Graña - SAComp 154

Page 155: I palestra

LINGUAGEM  

 Adendo,  a  melhor  

iPalestra - Gustavo Graña - SAComp 155

Page 156: I palestra

PONTO  

 Não  existe  

iPalestra - Gustavo Graña - SAComp 156

Page 157: I palestra

iPalestra - Gustavo Graña - SAComp 157

Page 158: I palestra

MULTIPLATAFORMA  

 Desenvolvimento  

iPalestra - Gustavo Graña - SAComp 158

Page 159: I palestra

Mul0plataforma  • Várias  opções  

 

iPalestra - Gustavo Graña - SAComp 159

Page 160: I palestra

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

 iPalestra - Gustavo Graña - SAComp 160

Page 161: I palestra

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

  iPalestra - Gustavo Graña - SAComp 161