Workshop - iOS BásicoIDE e Linguagem
Gustavo [email protected]
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
BEINGHERE!
Top Related