O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Primeiros passos no iOS com Objective-C

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 75 Anúncio

Primeiros passos no iOS com Objective-C

Baixar para ler offline

Presented at MobileConf 2013, Brazil. The content is in Brazilian Portuguese. Some background on Apple tools for iOS development, such as Xcode. Shows the first steps to beginners looking to develop a first app, explaining fundamentals such as Views, Actions and Outlets. Also, a primer on Objective-C syntax, comparing to other well-known Object-Oriented languages such as Java and C#.
Caelum IP-67 course on iOS (in Brazilian Portuguese): http://www.caelum.com.br/curso-ios-iphone-ipad/
"iOS: Programe para iPhone e iPad" book, by Rafael Steil (in Brazilian Portuguese): http://www.casadocodigo.com.br/products/livro-iphone-ipad-ios

Presented at MobileConf 2013, Brazil. The content is in Brazilian Portuguese. Some background on Apple tools for iOS development, such as Xcode. Shows the first steps to beginners looking to develop a first app, explaining fundamentals such as Views, Actions and Outlets. Also, a primer on Objective-C syntax, comparing to other well-known Object-Oriented languages such as Java and C#.
Caelum IP-67 course on iOS (in Brazilian Portuguese): http://www.caelum.com.br/curso-ios-iphone-ipad/
"iOS: Programe para iPhone e iPad" book, by Rafael Steil (in Brazilian Portuguese): http://www.casadocodigo.com.br/products/livro-iphone-ipad-ios

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Quem viu também gostou (20)

Semelhante a Primeiros passos no iOS com Objective-C (20)

Anúncio

Mais recentes (20)

Primeiros passos no iOS com Objective-C

  1. 1. iOS - Primeiros passos Desenvolvimento nativo com Objective-C
  2. 2. Quem? Osni Oliveira osni.oliveira@caelum.com.br @osnipso
  3. 3. iOS iPhone / iPhone OS iPad -> iOS Veio do Mac OS X iPhone, iPod touch, iPad, Apple TV
  4. 4. Mac OS X Veio do NeXTSTEP
  5. 5. NeXTSTEP Unix-like Mach kernel BSD API Orientada a Objetos Objective-C
  6. 6. No princípio, era... Project Builder (código) Interface Builder (interface)
  7. 7. Crise de identidade Project Builder virou Xcode
  8. 8. Identidade Interface Builder... ficou sendo Interface Builder, mesmo! Integrado a partir do Xcode 4.x
  9. 9. Objective-C 1983 (!) Stepstone (?) Smalltalk... não é Simula! NeXT - 1988
  10. 10. Objective-C Mensagem... não é método! (mas é quase) É resolvido em tempo de execução, não em... blá, blá, blá
  11. 11. Perguntas, perguntas... Precisa ser em Objective-C?
  12. 12. NÃO!
  13. 13. Hã? RubyMotion Xamarin (C# / .NET)
  14. 14. Por que Objective-C? OFICIAL Mais utilizado BOM ... *cof* C *cof*
  15. 15. Perguntas, perguntas... Preciso de um Mac?
  16. 16. SIM!
  17. 17. Calma, explico... Na verdade, precisa do Xcode...
  18. 18. Calma, explico... O Xcode só roda no Mac OS X...
  19. 19. Calma, explico... ... e o Mac OS X só é licenciado para executar em hardware Apple OU SEJA, MAC!
  20. 20. Perguntas, perguntas... MESMO?
  21. 21. Pois é... Virtual Machine “Hackintosh”
  22. 22. Está certo disso?
  23. 23. Posso perguntar?
  24. 24. Como sou esperto... Difícil Trabalhoso Problemas
  25. 25. Quer brincar, quer brincar? Ah, então, tá bom!
  26. 26. Pretende trabalhar? Por que não comprar um Mac?
  27. 27. Checklist... Macintosh OS X Lion / OS X Mountain Lion Xcode & etc. iOS SDK ... shall we?
  28. 28. Eba, código!
  29. 29. iOS Simulator Não é emulador x86_64 Roda o iOS, né...
  30. 30. Parabéns! Exibiu tela em branco Ainda tomou bronca!
  31. 31. Como assim? Vamos pensar... o que acontece quando executa?
  32. 32. main() Opa, como não? Program loop? Nah... MUITO MAIS LEGAL
  33. 33. “Sabonetou”... main() é o chefe O que o chefe sabe fazer?
  34. 34. Quer que desenhe? 1 App iOS 2 mensagens Delegate 3
  35. 35. Delegate, putz! É quem realmente faz as coisas Em outras palavras, recebe as mensagens
  36. 36. E o que fazer? Mostra, mostra...
  37. 37. View Está na tela, é View Sério. Mesmo.
  38. 38. E jogos? Também! View especial
  39. 39. Achievement Achievement unlocked: View Importante Só, queridão?
  40. 40. Então, cria!
  41. 41. Sintaxe? Opa, a sintaxe, claro... CMCViewController *viewController = [[CMCViewController alloc] init]; CMCViewController viewController = new CMCViewController();
  42. 42. Propriedades Uso de dotNotation self.window.rootViewController = viewController; Preserva a sanidade! Duvida?
  43. 43. Propriedades Toma essa! [[self window] setRootViewController:viewController];
  44. 44. Propriedades Mais fácil comparar: self.window.rootViewController = viewController; [[self window] setRootViewController:viewController];
  45. 45. Mensagens, em geral... [alvo seletor]; [target selector]; Mais ou menos como: target.selector();
  46. 46. Ah, nem é difícil... Vamos combinar: Consegue ler? Use dotNotation Errou? Treine!
  47. 47. Que mais? Começando a ficar interessante... Editar View?
  48. 48. Vamos tentar...
  49. 49. Grandes poderes... Vantagem: ferramentas para interface iOS Human Interface Guidelines
  50. 50. ...e vice-versa... Construir via código Escolha Vantagens e desvantagens Pode usar XIB!
  51. 51. Empolgou...
  52. 52. Nananinanão... Não é RAD! View é View, código... é ViewController! Uma coisa é uma coisa...
  53. 53. Mission: possible Nós temos que juntar os dois mundos Como? Vem comigo...
  54. 54. Arraste-me!
  55. 55. Sintaxe? De novo? Opa, a sintaxe, claro... - (IBAction)myButton_OnTouchUpInside:(id)sender; void myButton_OnTouchUpInside(Object sender);
  56. 56. Sintaxe? De novo? - (IBAction)myButton_OnTouchUpInside:(id)sender; Mensagem de instância / classe Parênteses: tipo Retorno Nome
  57. 57. Sintaxe? De novo? - (IBAction)myButton_OnTouchUpInside:(id)sender; Dois pontos: parâmetro Parênteses: tipo (parâmetro) Nome (parâmetro)
  58. 58. Ah, não... Como assim, mais de um? Pode ser daqui a pouco? Beleza, segura aí!
  59. 59. Ah, sim, tem o Log... Como assim, função?
  60. 60. Se souber usar...
  61. 61. Roda e avisa!
  62. 62. Achievement Achievement unlocked: Action Importante Eventos -> Mensagens
  63. 63. Agora vai!
  64. 64. Não foi... ainda! Não é RAD! - x2 Precisa conectar “Tomada” pra conectar o “plug”
  65. 65. Vai, filhão!
  66. 66. Quase...
  67. 67. Ah, bom!
  68. 68. Achievement Achievement unlocked: Outlet Importante Código -> View
  69. 69. É pouco, mas... Três conceitos principais: View Action Outlet Dá pra fazer bastante!
  70. 70. Só isso? Sempre tem um “D’Artagnan”... Lembra do Delegate? Então...
  71. 71. E agora? Que tal estudar C? Que tal estudar Objective-C? Que tal estudar as APIs? Cocoa touch Que tal estudar MAIS Objective-C?
  72. 72. Passa lá! Tem o IP-67 na Caelum! :-) Tem o livro do Steil na Casa do Código! :-) Pode ser, eventualmente, talvez...
  73. 73. Palavras ao vento... Inicializadores (init) Protocolos Foundation (NSObject, NSString, etc.)
  74. 74. Ah, eu prometi? Sério? - (void)exibeUmaMensagem:(NSString *)umaMensagem eOutraMensagem: (NSString *)outraMensagem; Cuidado! exibeUmaMensagem:eOutraMensagem: Lembra do seletor... [self exibeUmaMensagem:@"That's all," eOutraMensagem:@"Folks!"]; this.exibeUmaMensagem("That's all,", "Folks!");
  75. 75. Obrigado! ;-) osni.oliveira@caelum.com.br @osnipso

×