Treinamento i os

209 visualizações

Publicada em

Curso ministrado in-company para iniciar o desenvolvimento com Objective-C para iOS

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Treinamento i os

  1. 1. Treinamento iOS
  2. 2. Agenda - Manhã (parte 1): Introdução aos conceitos básicos da plataforma e da linguagem Objective-C. - Manhã (parte 2): Dojo com objective-c para pegar as manhas ;) - Tarde: Hands On!
  3. 3. Conceitos Básicos: Cocoa Touch - “The Cocoa Touch frameworks that drive iOS apps share many proven patterns found on the Mac, but were built with a special focus on touch-based interfaces and optimization. “ Redator da Apple
  4. 4. Cocoa Touch - Principais APIs - Foundation.framework - UIKit.framework - MapKit.framework
  5. 5. Cocoa Touch - Foundation.framework - Base da linguagem(Swift e Obj-C). - Onde fica os tipos primitivos, tipos de classe, estruturas, coleções… você entendeu. - Foi projetado para ser pequeno, pensando em portabilidade e facilitar o desenvolvimento através de convenções pré-definidas.
  6. 6. Cocoa Touch - UiKit.framework - Framework com tudo que você vai usar no dia a dia. - Sério, tudo mesmo!
  7. 7. Cocoa Touch - MapKit.framework - Cuida apenas de assuntos relacionados a mapas (como o nome indica). - Desde colocar um mapa dentro da sua view como fazer reverse-coding pra determinar um endereço
  8. 8. Conceitos Básicos: iOS Design Patterns - MVC-Centric. - Target-Action. - Delegation.
  9. 9. Conceitos Básicos: Objective C - “Objective-C is the primary programming language you use when writing software for OS X and iOS. It’s a superset of the C programming language and provides object- oriented capabilities and a dynamic runtime. ”
  10. 10. Objective C - Syntax NSString *name = @"Pedro Souza"; CGRect windowFrame = window.frame; NSLog(@"Olá %@", name); [Classe chamandoMetodoEstatico:param1 nomeDoProximoParam:param2]; [name chamandoMetodoDeInstancia];
  11. 11. Objective C - Classes // MyClass.h #import <Foundation/Foundation.h> #import SomeType.h @interface CardapioAlimento : NSObject<AnyProtocol> @property (strong, nonatomic) NSString *obj; @property (weak) CGRect frame; @property (retain, atomic) SomeType *obj2; - (void) metodo:(NSString *)param1; @end // MyClass.m #import MyClass.h @implementation MyClass // your shit goes here @end
  12. 12. Objective C - Classes - Lista com todos os tipos pro @property - atomic - nonatomic - retain - copy - readonly - readwrite - assign - strong
  13. 13. Objective C - Protocol - Protocols servem para definir comportamentos esperados por um objeto. (ou seja, uma interface). - Você pode definir métodos e propriedades que, aqueles que implementarem o protocol, iram incorporar. Eles podem ser obrigatórios ou não.
  14. 14. @interface Cachorro : NSObject<Animal> @end @implementation Cachorro - (void)beberAgua { // your code } @end Objective C - Protocol @protocol Animal - (void)beberAgua; @optional - (void)comerCarne; - (void)comerPlantas; @required - (void)irAoBanheiro; @end
  15. 15. - São responsáveis por definir métodos de extensão a tipos já definidos. - Essencialmente, é uma classe que adiciona novos comportamentos a outras classes. Objective C - Categories
  16. 16. - Uso #import NSString+MVUtils; [[NSDate now].stringValue dateFromFormat:@"FORMAT"]; Objective C - Categories - Definição @interface NSString (MVUtils) - (NSDate *)dateFromFormat:(NSString *)format; @end @implementation NSString (MVUtils) @end
  17. 17. Objective C - Dynamic Runtime - ID type - Distributed Objects - Dynamic setters/getters - Key-Value observing
  18. 18. Conceitos Básicos - Storyboard - No iOS 6, foi apresentado o conceito de Storyboard. - Dentro dele, você pode ter Scenes. - Você pode definir a navegação entre essas cenas utilizando o conceito de Segue. - Você pode customizar as transições criando seus próprios segues.
  19. 19. Storyboard - Exemplo
  20. 20. Conceitos Básicos: iOS Lifecycle
  21. 21. Conceitos Básicos: Core Data - CoreData é o framework responsável pela persistência dos dados. - Possui uma API para mapear objetos, persistir os dados e trabalha com diversos contextos
  22. 22. Core Data: Estrutura
  23. 23. Perguntas ?
  24. 24. DOJO TIME

×