0
Desenvolvimento iOS   André Gustavo Espeiorin
ApresentaçãoSócio/Programador/Eletricista da Code RockrProgramo para: ‣ Web ‣ iOS...... e nas horas vagas:  ‣ Mac OS X  ‣ ...
Plataforma iOSAplicativos nativosDispositivos atualizadosProgramas para desenvolvedores pagosAmbiente controladoComissão d...
Pré-requisitosProgramação Orientada a ObjetosInglês pelo menos para leituraConhecimento de Design PatternsMVC é primárioAc...
Recursos para desenvolvedoresiOS Dev CenterApple Developer ForumsDocumentaçãoFerramentas de desenvolvimentoProvisioning Po...
iOS Dev Center
Apple Developer Forums
Documentação
Human Interface GuidelinesGuia para construção de interfacesEstudos de UX feitos sobre os apps da AppleFrequentemente atua...
Ferramentas de DesenvolvimentoXcodeiOS SimulatorInstrumentsCocoa-Touch ‣ Foundation Framework ‣ UIKit FrameworkFrameworks ...
XcodeAmbiente de desenvolvimento integrado nativo da AppleVersão atual: 4.2Suporta desenvolvimento iOS e Mac OS XPossui In...
Xcode
iOS Simulator          iPhone   iPhone Retina Display
iOS Simulator                iPad
Instruments (Profiling)
Framework FoundationFramework base do Mac OS X e iOSTotalmente Objective-CFacilita o desenvolvimentoClasses básicas como: ...
UIKitFramework responsável pela Interface GráficaElementos gráficosControlesEventosManipulação de eventos de toque
UIKitUIViewUIViewControllerUITabBarControllerUIImageUIImageViewUILabelUIButton
Objective-CBaseada em COrientada a ObjetosInspirada em SmallTalkMac OS X e iOSPode ser usada combinada com C e C++
Sintaxe Objective-C
Declaração de ClassesNecessária a prévia declaração de uma classe com suaspropriedades, métodos e demais configurações de c...
Configuração de PropriedadesUsadas para configurar o comportamento dos getters e setters.Leitura/Escrita ‣ readwrite ‣ reado...
Assinatura de Métodos
Implementação de ClassesSeguindo a declaração prévia da classe, faz-se a implementação damesma. Abaixo a implementação das...
@synthesizeGera os métodos get e set para cada propriedade, de acordo comsua configuração.Cria também uma variável dentro d...
Implementação de ClassesAgora a implementação dos métodos // Implementação dos métodos - (void) acelerar:(NSInteger)aceler...
Criação de Objetos Carro *carro = [[Carro alloc] init]; carro.modelo = @"Ecosport"; carro.fabricante = @"Ford"; carro.cor ...
Classes básicas do Cocoa
NSStringClasse padrão para manipulação de strings, pode ser mutável(NSString) ou imutável (NSMutableString)     // NSStrin...
NSArrayUtilizada para armazenar e manipular listas ordenadasnumericamente. Possui uma forma imutável (NSArray) e uma forma...
NSDictionaryUtilizada para armazenar para armazenar e manipular listas comíndices não numéricos. Possui uma versão imutáve...
NSNumberUtilizada para armazenar e manipular qualquer valor numérico dequalquer tipo (int, float, double), forma utilizada ...
Xcode na Prática
Uso do Interface BuilderCriação de interfaces de forma totalmente visualLigações com o ViewController ‣ IBOutlet ‣ IBActio...
Conexão InterfaceBuilder - Código
Uso de ImagensUm dos recursos mais comuns no desenvolvimento de aplicativosImagens podem ser: ‣ Arquivos Locais ‣ Objetos ...
Retina Display e as ImagensPixels 4x mais densosResolução duplicadaSolução: ‣ Imagens Normais para displays comuns ‣ Image...
UIImageRepresentação de uma imagem em forma de objetoImutávelPossui gerenciamento automático de memóriaEvitar imagens maio...
UIImageViewUm UIView para exibição de imagensSuporta animações com vários framesExibe um objeto UIImagePossui propriedades...
Exibindo Imagenshttps://github.com/xorna/Images
Elementos de ControleElementos de interface utilizados para interação com usuárioExecutam ações e controlam valoresUIKit p...
UIButtonElemento básico de interaçãoFácil personalizaçãoDiversos FormatosImagens ou cores
UISliderControla um valor entre um mínimo e um máximoDeslize lateralUtilizado em configurações
UISwitchValores BooleanosNão possui personalizaçãoTambém muito utilizado em configurações
UISegmentedControlControle de vários botõesO valor armazenado é o índice selecionadoConfigurações de múltipla escolhaUtiliz...
Utilizando os Controleshttps://github.com/xorna/Controles
Upcoming SlideShare
Loading in...5
×

Desenvolvimento iOS

2,748

Published on

Nessa palestra, é apresentado os conceitos básicos do desenvolvimento de apps para iOS

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,748
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
69
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript of "Desenvolvimento iOS"

    1. 1. Desenvolvimento iOS André Gustavo Espeiorin
    2. 2. ApresentaçãoSócio/Programador/Eletricista da Code RockrProgramo para: ‣ Web ‣ iOS...... e nas horas vagas: ‣ Mac OS X ‣ Arduino“Professor” de desenvolvimento iOShttp://twitter.com/xornaxorna@coderockr.com
    3. 3. Plataforma iOSAplicativos nativosDispositivos atualizadosProgramas para desenvolvedores pagosAmbiente controladoComissão de 30% para aplicativos pagosMercado de Aplicativos Gigante
    4. 4. Pré-requisitosProgramação Orientada a ObjetosInglês pelo menos para leituraConhecimento de Design PatternsMVC é primárioAcesso a Mac OS XFerramentas de desenvolvimentoUm iDevice para testes é recomendado
    5. 5. Recursos para desenvolvedoresiOS Dev CenterApple Developer ForumsDocumentaçãoFerramentas de desenvolvimentoProvisioning PortaliTunes Connect
    6. 6. iOS Dev Center
    7. 7. Apple Developer Forums
    8. 8. Documentação
    9. 9. Human Interface GuidelinesGuia para construção de interfacesEstudos de UX feitos sobre os apps da AppleFrequentemente atualizadaIndispensável para designers e desenvolvedores
    10. 10. Ferramentas de DesenvolvimentoXcodeiOS SimulatorInstrumentsCocoa-Touch ‣ Foundation Framework ‣ UIKit FrameworkFrameworks Gráficos
    11. 11. XcodeAmbiente de desenvolvimento integrado nativo da AppleVersão atual: 4.2Suporta desenvolvimento iOS e Mac OS XPossui Interface Builder IntegradoPossui console de depuraçãoGrátis para desenvolvedores e usuários Mac OS X LionPossui documentação completa integrada
    12. 12. Xcode
    13. 13. iOS Simulator iPhone iPhone Retina Display
    14. 14. iOS Simulator iPad
    15. 15. Instruments (Profiling)
    16. 16. Framework FoundationFramework base do Mac OS X e iOSTotalmente Objective-CFacilita o desenvolvimentoClasses básicas como: ‣ NSObject ‣ NSString ‣ NSArray ‣ NSDictionary
    17. 17. UIKitFramework responsável pela Interface GráficaElementos gráficosControlesEventosManipulação de eventos de toque
    18. 18. UIKitUIViewUIViewControllerUITabBarControllerUIImageUIImageViewUILabelUIButton
    19. 19. Objective-CBaseada em COrientada a ObjetosInspirada em SmallTalkMac OS X e iOSPode ser usada combinada com C e C++
    20. 20. Sintaxe Objective-C
    21. 21. Declaração de ClassesNecessária a prévia declaração de uma classe com suaspropriedades, métodos e demais configurações de comportamento. #import <Foundation/Foundation.h> // Inicio da declaração @interface Carro : NSObject // Lista de propriedades @property (nonatomic, strong) NSString *modelo; @property (nonatomic, strong) NSString *fabricante; @property (nonatomic, strong) UIColor *cor; @property (nonatomic, assign) BOOL ligado; // Lista de Métodos - (void) acelerar:(NSInteger) aceleracao; - (void) freiar:(NSInteger) desaceleracao; - (BOOL) ligar; - (BOOL) desligar; // Final da declaração @end
    22. 22. Configuração de PropriedadesUsadas para configurar o comportamento dos getters e setters.Leitura/Escrita ‣ readwrite ‣ readonlyAtribuição ‣ assign ‣ strong ‣ unsafe_unretainedAtomicidade ‣ atomic ‣ nonatomic
    23. 23. Assinatura de Métodos
    24. 24. Implementação de ClassesSeguindo a declaração prévia da classe, faz-se a implementação damesma. Abaixo a implementação das propriedades. // Importação da declaração da classe #import "Carro.h" // Início da Implementação @implementation Carro // Geração automática de getter and setter + variável privada @synthesize modelo = _modelo; @synthesize fabricante = _fabricante; @synthesize cor = _cor; @synthesize ligado = _ligado;
    25. 25. @synthesizeGera os métodos get e set para cada propriedade, de acordo comsua configuração.Cria também uma variável dentro do escopo da implementação paraacesso direto a uma propriedade.
    26. 26. Implementação de ClassesAgora a implementação dos métodos // Implementação dos métodos - (void) acelerar:(NSInteger)aceleracao { } - (void) freiar:(NSInteger)desaceleracao { } - (BOOL) ligar { return YES; } - (BOOL) desligar { return YES; } // Final da Implementação @end
    27. 27. Criação de Objetos Carro *carro = [[Carro alloc] init]; carro.modelo = @"Ecosport"; carro.fabricante = @"Ford"; carro.cor = [UIColor redColor]; [carro ligar]; [carro acelerar:10]; [carro freiar:10]; [carro desligar];
    28. 28. Classes básicas do Cocoa
    29. 29. NSStringClasse padrão para manipulação de strings, pode ser mutável(NSString) ou imutável (NSMutableString) // NSString na criação de uma imagem UIImage *img = [UIImage imageNamed:@"icon.png"]; // Manipulação de uma string mutável NSMutableString *str = [NSMutableString stringWithString:@"Mac OS Dev"]; ! [str replaceOccurrencesOfString:@"Mac OS" ! ! ! ! ! ! withString:@"iOS" ! ! ! ! ! ! ! options:NSLiteralSearch ! ! ! ! ! ! ! range:NSMakeRange(0, [str length])];
    30. 30. NSArrayUtilizada para armazenar e manipular listas ordenadasnumericamente. Possui uma forma imutável (NSArray) e uma formamutável (NSMutableArray). // Criação do Array NSArray *carros = [NSArray arrayWithObjects:@"Corsa", @"Palio", @"Fiesta", @"Gol", nil]; // Acesso a um objeto em um índice específico NSString *carro = [carros objectAtIndex:0];
    31. 31. NSDictionaryUtilizada para armazenar para armazenar e manipular listas comíndices não numéricos. Possui uma versão imutável (NSDictionary) euma versão mutável (NSMutableDictionary) // Criação da lista NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"primeiro", @"objeto1", @"segundo", @"objeto2", nil]; // Recuperação de um item específico NSString *item = [dict objectForKey:@"primeiro"];
    32. 32. NSNumberUtilizada para armazenar e manipular qualquer valor numérico dequalquer tipo (int, float, double), forma utilizada para utilizar númeroscomo objetos. É possível recuperar o valor em tipo nativo a qualquerinstante. // Criação do Objeto NSNumber *number = [NSNumber numberWithFloat:12.3]; // Recuperação do Valor float floatNumber = [number floatValue];
    33. 33. Xcode na Prática
    34. 34. Uso do Interface BuilderCriação de interfaces de forma totalmente visualLigações com o ViewController ‣ IBOutlet ‣ IBAction // Conecta o elemento a uma propriedade @property (nonatomic, strong) IBOutlet UILabel *label; // Conecta o elemento a uma ação - (IBAction)doSomething:(id)sender;
    35. 35. Conexão InterfaceBuilder - Código
    36. 36. Uso de ImagensUm dos recursos mais comuns no desenvolvimento de aplicativosImagens podem ser: ‣ Arquivos Locais ‣ Objetos Quartz ‣ Fotos tiradas com a camera ‣ Dados vindos de um servidorFormatos Suportados: ‣ .tiff, .tif ‣ .jpg, .jpeg ‣ .gif ‣ .png ‣ .bmp ‣ .ico ‣ .cur ‣ .xbm
    37. 37. Retina Display e as ImagensPixels 4x mais densosResolução duplicadaSolução: ‣ Imagens Normais para displays comuns ‣ Imagens com tamanho duplicado para Retina DisplayTratamento via Código:NenhumNa prática: ‣ Imagem normal com seu nome comum: background.png ‣ Imagem retina com sufixo @2x: background@2x.png
    38. 38. UIImageRepresentação de uma imagem em forma de objetoImutávelPossui gerenciamento automático de memóriaEvitar imagens maiores que 1024x1024Redimensionamento de Imagens: ‣ Configuração do objeto UIImageView para apresentação ‣ Via código, de forma permanente
    39. 39. UIImageViewUm UIView para exibição de imagensSuporta animações com vários framesExibe um objeto UIImagePossui propriedades para redimensionamento da imagem
    40. 40. Exibindo Imagenshttps://github.com/xorna/Images
    41. 41. Elementos de ControleElementos de interface utilizados para interação com usuárioExecutam ações e controlam valoresUIKit possui os de uso mais comumPossibilidade de personalizaçãoPossibilidade de criação de novos elementos utilizando Cocoa
    42. 42. UIButtonElemento básico de interaçãoFácil personalizaçãoDiversos FormatosImagens ou cores
    43. 43. UISliderControla um valor entre um mínimo e um máximoDeslize lateralUtilizado em configurações
    44. 44. UISwitchValores BooleanosNão possui personalizaçãoTambém muito utilizado em configurações
    45. 45. UISegmentedControlControle de vários botõesO valor armazenado é o índice selecionadoConfigurações de múltipla escolhaUtilizado para separação de conteúdo em abas
    46. 46. Utilizando os Controleshttps://github.com/xorna/Controles
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×