Workshop - IDE / Linguagem

31
Workshop - iOS Básico IDE e Linguagem Gustavo Barbosa [email protected]

Transcript of Workshop - IDE / Linguagem

Page 1: Workshop - IDE / Linguagem

Workshop - iOS BásicoIDE e Linguagem

Gustavo [email protected]

Page 2: Workshop - IDE / Linguagem

Vamos falar um pouco sobre o que é

necessário para iniciar no

desenvolvimento de aplicativos para iOS

Page 3: Workshop - IDE / Linguagem

Plataforma

Page 4: Workshop - IDE / Linguagem

A IDE utilizada para desenvolvimento é o XCode.

Page 5: Workshop - IDE / Linguagem

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

Page 6: Workshop - IDE / Linguagem

Não é necessário configurar o ambiente de

desenvolvimento

Page 7: Workshop - IDE / Linguagem

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

Page 8: Workshop - IDE / Linguagem

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

Page 9: Workshop - IDE / Linguagem

Linguagem de programação

Page 10: Workshop - IDE / Linguagem

Objective-c

Page 11: Workshop - IDE / Linguagem

● 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…)

Page 12: Workshop - IDE / Linguagem

● 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

Page 13: Workshop - IDE / Linguagem

Exemplo - Declarando um método

PHP:

function getByAno($ano) { ... }

Page 14: Workshop - IDE / Linguagem

Exemplo - Declarando um método

PHP:

function getByAno($ano) { ... }

Java:

(void) getByAno(int ano) { ... }

Page 15: Workshop - IDE / Linguagem

Exemplo - Declarando um método

PHP:

function getByAno($ano) { ... }

Java:

(void) getByAno(int ano) { ... }

Javascript:

function getByAno(ano) { ... }

Page 16: Workshop - IDE / Linguagem

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

Page 17: Workshop - IDE / Linguagem

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.

Page 18: Workshop - IDE / Linguagem

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

Page 19: Workshop - IDE / Linguagem

Quando uma nova classe é criada, dois arquivos

são adicionados no projeto:

Estrutura

Page 20: Workshop - IDE / Linguagem

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

Page 21: Workshop - IDE / Linguagem

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

Page 22: Workshop - IDE / Linguagem

E o Swift?

Page 23: Workshop - IDE / Linguagem

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

Page 24: Workshop - IDE / Linguagem

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

Page 25: Workshop - IDE / Linguagem
Page 26: Workshop - IDE / Linguagem

Storyboard

Page 27: Workshop - IDE / Linguagem

Storyboard

Page 28: Workshop - IDE / Linguagem

Xib

Page 29: Workshop - IDE / Linguagem

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...

Page 30: Workshop - IDE / Linguagem

Dúvidas?

Page 31: Workshop - IDE / Linguagem

THANKS FOR

BEINGHERE!