Workshop - iOS
Básico
IDE e Linguagem
Gustavo Barbosa
gustavob@ciandt.com
Vamos falar um pouco
sobre o que é necessário
para iniciar no
desenvolvimento de
aplicativos para iOS
Plataforma
A IDE utilizada
para
desenvolvimento
é o XCode.
Atualmente está na versão 6 e suporta o
desenvolvimento para iOS8.1.
Para novas atualizações do sistema
operacional, a Apple tem o costume de
lançar versões beta do XCode que podem
ser baixadas dentro do Member Center
(portal para desenvolvedores).
XCode
Não é necessário
configurar o ambiente de
desenvolvimento
Consegue simular com integridade um
device.
Necessita de algumas configurações
básicas para replicar as funcionalidades de
geoposicionamento e linguagem do
dispositivo.
Excessão: não pode ser usado quando
recursos físicos do celular são necessários
(câmera, acelerômetro e bluetooth).
Simulator
Instruments
Excelentes ferramentas de auxílio ao
desenvolvedor:
● Verificar vazamento de memória
● Indicar objetos inutilizados e sem
referência (zumbis)
● Checar o tempo de execução de
tarefas
● Testes de performance em geral
Linguagem de
programação
Objective-c
● Derivada da linguagem C
● Surgiu em 1980
● Foi licenciada pela NeXT em 1988
● Em 1996 a Apple comprou a NeXT e incluiu a biblioteca
NeXTSTEP no Core do Mac OS X
Um pouco de história (bem pouco…)
● Trabalha com classes
● Possui o prefixo NS para diversos tipos de objeto
(NSString, NSArray, NSObject, etc.) e UI para elementos
de interface
● Possuem um * (ponteiro) na criação de novos objetos
● Linguagem altamente descritiva
Sintaxe
Exemplo - Declarando um método
PHP:
function getByAno($ano) { ... }
Exemplo - Declarando um método
PHP:
function getByAno($ano) { ... }
Java:
(void) getByAno(int ano) { ... }
Exemplo - Declarando um método
PHP:
function getByAno($ano) { ... }
Java:
(void) getByAno(int ano) { ... }
Javascript:
function getByAno(ano) { ... }
Exemplo - Declarando um método
Objective-c:
- (void) getByAno:(int) ano { ... }
Todos os parâmetros são separados por pelo menos um
termo entre eles. Isso faz com que o desenvolvedor seja
obrigado a ser bem descritivo na criação dos métodos
Exemplo - Declarando um método
- (NSString*) getNameFromList:(NSArray*) peopleArray WithIndex:(int)index{ ... }
● Não economize em nomes de métodos e variáveis. O XCode
possui um excelente autocomplete.
Tipos primitivos - valores numéricos
● Para tipo inteiro ou ponto flutuante utiliza-se NSInteger e
CGFloat
● Arquitetura 64 bits
● Desde o dia 1 de Fevereiro de 2015, todas as apps são
obrigadas a suportar
● Aumento de tamanho das variáveis e alinhamentos de
regras de memória
Quando uma nova classe é criada, dois arquivos
são adicionados no projeto:
Estrutura
O arquivo .h é a interface. Possui todas assinaturas dos
métodos públicos a serem implementados e também
propriedades dos objetos que podem ser acessados por
outras classes.
Estrutura
O arquivo .m é a implementação de todos os métodos
declarados no arquivo .h.
Local onde toda lógica será inserida (ações de botões, cores
de componentes.
Estrutura
E o Swift?
O XCode possui uma interface muito simples de ser utilizada
para componentes de UI:
● Mecanismo "clica e arrasta"
● Todos os elementos da interface são ligados com as
declarações nos arquivos da classe (.h e .m)
Elementos de interface / Interface Builder
Declarando um label no arquivo .h
@property (nonatomic, weak) UILabel* lblGroupName;
Referência:
http://stackoverflow.com/questions/9859719/objective-c-declared-property-
attributes-nonatomic-copy-strong-weak
Elementos de interface / Interface Builder
Storyboard
Storyboard
Xib
BOOLEAN - YES or NO - Substituindo o TRUE or FALSE
self - referenciar objetos ou chamar métodos da mesma
classe
nil - no lugar de null
Algumas mudanças...
Dúvidas?
THANKS
FOR
BEING
HERE!

Workshop - IDE / Linguagem

  • 1.
    Workshop - iOS Básico IDEe Linguagem Gustavo Barbosa gustavob@ciandt.com
  • 2.
    Vamos falar umpouco sobre o que é necessário para iniciar no desenvolvimento de aplicativos para iOS
  • 3.
  • 4.
  • 5.
    Atualmente está naversão 6 e suporta o desenvolvimento para iOS8.1. Para novas atualizações do sistema operacional, a Apple tem o costume de lançar versões beta do XCode que podem ser baixadas dentro do Member Center (portal para desenvolvedores). XCode
  • 6.
    Não é necessário configuraro ambiente de desenvolvimento
  • 7.
    Consegue simular comintegridade um device. Necessita de algumas configurações básicas para replicar as funcionalidades de geoposicionamento e linguagem do dispositivo. Excessão: não pode ser usado quando recursos físicos do celular são necessários (câmera, acelerômetro e bluetooth). Simulator
  • 8.
    Instruments Excelentes ferramentas deauxílio ao desenvolvedor: ● Verificar vazamento de memória ● Indicar objetos inutilizados e sem referência (zumbis) ● Checar o tempo de execução de tarefas ● Testes de performance em geral
  • 9.
  • 10.
  • 11.
    ● Derivada dalinguagem C ● Surgiu em 1980 ● Foi licenciada pela NeXT em 1988 ● Em 1996 a Apple comprou a NeXT e incluiu a biblioteca NeXTSTEP no Core do Mac OS X Um pouco de história (bem pouco…)
  • 12.
    ● Trabalha comclasses ● Possui o prefixo NS para diversos tipos de objeto (NSString, NSArray, NSObject, etc.) e UI para elementos de interface ● Possuem um * (ponteiro) na criação de novos objetos ● Linguagem altamente descritiva Sintaxe
  • 13.
    Exemplo - Declarandoum método PHP: function getByAno($ano) { ... }
  • 14.
    Exemplo - Declarandoum método PHP: function getByAno($ano) { ... } Java: (void) getByAno(int ano) { ... }
  • 15.
    Exemplo - Declarandoum método PHP: function getByAno($ano) { ... } Java: (void) getByAno(int ano) { ... } Javascript: function getByAno(ano) { ... }
  • 16.
    Exemplo - Declarandoum método Objective-c: - (void) getByAno:(int) ano { ... } Todos os parâmetros são separados por pelo menos um termo entre eles. Isso faz com que o desenvolvedor seja obrigado a ser bem descritivo na criação dos métodos
  • 17.
    Exemplo - Declarandoum método - (NSString*) getNameFromList:(NSArray*) peopleArray WithIndex:(int)index{ ... } ● Não economize em nomes de métodos e variáveis. O XCode possui um excelente autocomplete.
  • 18.
    Tipos primitivos -valores numéricos ● Para tipo inteiro ou ponto flutuante utiliza-se NSInteger e CGFloat ● Arquitetura 64 bits ● Desde o dia 1 de Fevereiro de 2015, todas as apps são obrigadas a suportar ● Aumento de tamanho das variáveis e alinhamentos de regras de memória
  • 19.
    Quando uma novaclasse é criada, dois arquivos são adicionados no projeto: Estrutura
  • 20.
    O arquivo .hé a interface. Possui todas assinaturas dos métodos públicos a serem implementados e também propriedades dos objetos que podem ser acessados por outras classes. Estrutura
  • 21.
    O arquivo .mé a implementação de todos os métodos declarados no arquivo .h. Local onde toda lógica será inserida (ações de botões, cores de componentes. Estrutura
  • 22.
  • 23.
    O XCode possuiuma interface muito simples de ser utilizada para componentes de UI: ● Mecanismo "clica e arrasta" ● Todos os elementos da interface são ligados com as declarações nos arquivos da classe (.h e .m) Elementos de interface / Interface Builder
  • 24.
    Declarando um labelno arquivo .h @property (nonatomic, weak) UILabel* lblGroupName; Referência: http://stackoverflow.com/questions/9859719/objective-c-declared-property- attributes-nonatomic-copy-strong-weak Elementos de interface / Interface Builder
  • 26.
  • 27.
  • 28.
  • 29.
    BOOLEAN - YESor NO - Substituindo o TRUE or FALSE self - referenciar objetos ou chamar métodos da mesma classe nil - no lugar de null Algumas mudanças...
  • 30.
  • 31.