tdc 2014 - como usar seu para-quedas caso você caia no mundo de ios
DESCRIPTION
Palestra da trilha Mobile - TDC2014TRANSCRIPT
![Page 1: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/1.jpg)
Como usar seu para-quedasCaso você caia no mundo de iOS
Isso não é um para-quedas,
é uma maçã! Fuuu
![Page 2: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/2.jpg)
Oi!
Hanneli (a.k.a. @hannelita)!
Desenvolvedora!
Jogos!
Café e Pokémon <3
![Page 3: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/3.jpg)
O que vamos ver aqui
Desafios de qualquer desenvolvedor!
Por que ir para mobile e iOS?!
Básico de Objective C!
Truques de memória!
Algumas receitas de bolo (a.k.a design patterns)!
Open Source e ferramentas legais!
Pokémon, história e gifs engraçados <3 E sem graça também
![Page 4: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/4.jpg)
Programação
![Page 5: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/5.jpg)
1990 -> 2000
Web!
![Page 6: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/6.jpg)
Skill set
PHP
Apache
MySQL
![Page 7: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/7.jpg)
Fácil!
![Page 8: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/8.jpg)
JDBCHibernate 2
XMLJPA
Hibernate 3.1Annotations
JPA 2EclipseLink
Hibernate 4
ServletJSP
StrutsStruts 2VRaptor
JSF1JSF 2Richfaces
PrimefacesSeam
TomcatJetty
JBossGlassfish
WeblogicWebsphere
EJBWebservices
JMSJAX-RS
Eclipse
IntelliJ IDEANetbeans
![Page 9: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/9.jpg)
Fácil, né?
![Page 10: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/10.jpg)
Tem mais!
Oracle
NoSQLRubyRailsSinatraPostgres
ZendHTML CSS
JS
jQuery
PythonDjango
TDD vimRSpecMongo
CassandraNode.jsMeteor.js Backbone.js
Neo4jRedis
HerokuGit
Torquebox
![Page 11: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/11.jpg)
Sou F...
Dig Din
![Page 12: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/12.jpg)
Só que não
![Page 13: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/13.jpg)
2000 -> hoje
Mobile!
![Page 14: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/14.jpg)
Seu dispositivo móvel
Banco
Personal Trainer
Despertador
Álbum de fotos
Comunicação
![Page 15: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/15.jpg)
A maçã
![Page 16: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/16.jpg)
A maçã
Aí, gata, tem WhatsApp?
![Page 17: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/17.jpg)
O iPhone
![Page 18: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/18.jpg)
O iPhoneA maçã de
Adão e Eva dá dinheiro?
Faça umas apps então <3
![Page 19: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/19.jpg)
Desenvolvendo
Objective C
iOS
Xcode
SQLite
Foundation
C
C++
UIKit CoreGraphics
CoreServices
CoreLocation
ARC
![Page 20: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/20.jpg)
Desenvolvendo
![Page 21: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/21.jpg)
iOS Development
[[[[ ]]]]
![Page 22: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/22.jpg)
Desenvolvendo
![Page 23: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/23.jpg)
Por onde começo?
Mínimo de programação
procedural
![Page 24: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/24.jpg)
Não desista!
Mínimo de programação
procedural
![Page 25: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/25.jpg)
Fácil, vai!
![Page 26: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/26.jpg)
Próximo passo
Mínimo de Orientação a
Objetos
![Page 27: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/27.jpg)
Próximo passo
Criar uma classe!
Criar atributos e métodos!
Instanciar um objeto
![Page 28: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/28.jpg)
Criando uma classe
![Page 29: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/29.jpg)
Criando uma classe
![Page 30: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/30.jpg)
Criando uma classe
CRIE GRUPOS!Criando uma classe
![Page 31: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/31.jpg)
Grupos para as classes
Cuidado!
Não é criado um diretório!
![Page 32: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/32.jpg)
.h
Atributos
![Page 33: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/33.jpg)
.h
Métodos
![Page 34: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/34.jpg)
.h - destaques
@propertyreadwrite ou readonly!
assign, retain ou copy!
nonatomic ou atomicgetters e setters
automáticos
=
![Page 35: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/35.jpg)
.m
Indica a interface
![Page 36: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/36.jpg)
.m
“Sintetiza” as properties
![Page 37: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/37.jpg)
.m
Implementa os métodos
![Page 38: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/38.jpg)
Visibilidade
Todo método que está no .h é
público
![Page 39: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/39.jpg)
Até aqui, fácil!
![Page 40: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/40.jpg)
Em Objective C...
Tenho que fazer [alloc[init]]
![Page 41: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/41.jpg)
Em Objective C...
E precisa dar release também!
![Page 42: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/42.jpg)
Em Objective C...
E se não fizer?
![Page 43: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/43.jpg)
Em Objective C...
LEAK
![Page 44: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/44.jpg)
Use release quando
Houver um [alloc[init]]!
Houver um [copy]!
Qualquer método que remeta a um Factory pattern - [xxx create]
![Page 45: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/45.jpg)
Use release!
Nunca chame [pikachu dealloc]
![Page 46: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/46.jpg)
dealloc
Declaração do que deve ser feito ao
desalocar o objeto
![Page 47: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/47.jpg)
Por falar em dealloc
dealloc
[TreinadorPokemon alloc[init]];
![Page 48: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/48.jpg)
Ajude a implementar!
![Page 49: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/49.jpg)
Por falar em dealloc
![Page 50: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/50.jpg)
Por falar em dealloc
![Page 51: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/51.jpg)
Por falar em dealloc- (void) teste { Treinador *ash = [Treinador alloc [init]]; [ash release]; Treinador *gary = [Treinador alloc [init]]; }
Treinador *ash
Memória 1234h
Treinador *gary
![Page 52: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/52.jpg)
Por falar em dealloc
Por alguns instantes, gary apontará para ash!
Dangling pointer
![Page 53: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/53.jpg)
Dangling pointer- (void) teste { Treinador *ash = [Treinador alloc [init]]; [ash release]; ash = nil;
Treinador *gary = [Treinador alloc [init]]; }
Treinador *ash
Memória 1234h
Treinador *gary
nil
![Page 54: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/54.jpg)
Suave!
![Page 55: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/55.jpg)
Se há dealloc...
Deve haver um init!
![Page 56: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/56.jpg)
init
Se ocorreu algum problema na
inicialização do objeto, não inicialize seus
atributos
![Page 57: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/57.jpg)
alloc - init - releasealloc
init
releasealloc
init
release
alloc
init
releasealloc
init
release
alloc
init
releasealloc
init
release
alloc
init
releasealloc
init
release
alloc
init
releasealloc
init
release
alloc
init
releasealloc
init
releasealloc
init
release
alloc
init
release
alloc
init
release
alloc
init
release
alloc
init
release
alloc
init
release
alloc
init
release
alloc
init
releasealloc
init
release
![Page 58: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/58.jpg)
alloc - init - release
![Page 59: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/59.jpg)
autorelease
![Page 60: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/60.jpg)
autorelease
![Page 61: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/61.jpg)
autorelease pool
[[ ]autorelease];
Treinador *ash
![Page 62: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/62.jpg)
Super fácil!
![Page 63: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/63.jpg)
Por falar em alocar
EquipeRocket *rocket =
Só há uma equipe Rocket
![Page 64: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/64.jpg)
Singleton
CUIDADO
![Page 65: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/65.jpg)
Pense na classe
Armazena muita informação
![Page 66: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/66.jpg)
Singleton
Nem toda classe precisa ser um
singleton!
![Page 67: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/67.jpg)
Rá
![Page 68: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/68.jpg)
Open Source
COCOAPODS
<3
![Page 69: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/69.jpg)
AFNetworking
![Page 70: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/70.jpg)
AppCode
![Page 71: TDC 2014 - Como usar seu para-quedas caso você caia no mundo de iOS](https://reader034.vdocuments.pub/reader034/viewer/2022042714/54c3aad14a795967518b45c6/html5/thumbnails/71.jpg)
Obrigada pelo bate papo!
hannelita.com