SwiftUma fama repentina!
Oi!
Hanneli (a.k.a. @hannelita)!
Desenvolvedora @Codeminer42!
Jogos!
Café, Lego, Pokémon e bichos <3
HIRING
O que *NÃO* vamos ver aqui
Objective C é melhor que Swift!
Desenvolvedora com 5 anos de exp em Swift!
Evangelização de Swift!
Teorias chatas zzzzzzzz
O que *vamos* ver aqui
Alguns enroscos do Objective C !
O que os desenvolvedores sentiam falta!
Swift - resolvendo alguns desses buracos!
Swift - bizarrices!
GIFs e imagens legais <3
Desenvolvendo
Objective C
iOS
Xcode
SQLite
Foundation
C
C++
UIKit CoreGraphics
CoreServices
CoreLocation
ARC
Desenvolvendo
iOS Development
[ ][ ][ ][ ]
Se fosse só isso…
Agonia
Quem nunca…
Saiu implementando no .m
E esqueceu de colocar no .h ?
Quem nunca…
Quem nunca…
Não sabia o tipo de retorno de uma API…
E colocou um tipo nada a ver…
Porque não tinha documentação?
Quem nunca…
Quem nunca…
Tomou um erro de compilação…
Porque faltou um simples
; ?
Quem nunca…
Noooo
Noooo
SWIFT!
YEEES
O Swift suaviza quase tudo isso
.m e .h no mesmo lugar
auto-detecta os tipos
auto-detecta os tipos
var tdc : String = "TDC"
var tdc = "TDC"
Não precisa de ;
Consigo chamar métodos sem []
FAVOR NÃO TROLLAR
**NÃO**
var tdc = 2014!tdc = “Oi!"
**NÃO**
var meusNumerosLegais = ![1,33,345,349]
meusNumerosLegais.append(“trololol")
**NÃO**
var numero : Int = 0
numero = nil
Swift possui algumas 'bizarrices'
Optionals
Swift possui algumas 'bizarrices'
Optionals∆ Existe um valor e ele é igual a
alguma coisa
∆ Não existe NENHUM valor
Swift possui algumas 'bizarrices'
Optionals
Swift possui algumas 'bizarrices'
Optionals
Vamos ver um pouco de código
Swift possui algumas 'bizarrices'
Optionals
1. Meet Playground!
Optionals
Optionals
let palestrasCount = hanneli.palestras!.quantidade
Não FUNCIONAAA fsdhufuhfsuhfhuefwkfhudfs
Optionals
Optionals
Não tenho um objeto Palestra!
Instanciamos um!
Não tem nenhum valor MESMO!
Optionals
MOAR cool stuffTraz um pouco de ‘FP' (Programação funcional)!
Closure!
Tuple!
Generics!
Map e Filters
Is it production ready?
Is it production ready?Existem poucos exemplos!
Existe pouco material de estudo!
Existe menos conteúdo no StackOverflow!
A IDE da Apple dá uns paus!
DISCLAIMER
MINHA VISÃO
Você não precisa concordar, discordar ou achar que estou xingando/elogiando
Minha visãoSwift: BACANA! Traz um pouco de ‘Ruby-like' para o mundo de iOS!
Menos verboso! :D!
Alguns conceitos confusos!
Como muitas vertentes de FP, temos que lidar com . ! e etc.
Referênciashttp://www.slideshare.net/talesp/swift-optionals !
http://www.slideshare.net/jollen/mokoversity-course-swift-101-3-hours?qid=525c7536-b9e1-4d45-b8da-0447854f6a93&v=qf1&b=&from_search=1!
http://www.slideshare.net/giordano/a-swift-introduction-to-swift?next_slideshow=1!
http://www.slideshare.net/giordano/a-swift-introduction-to-swift?next_slideshow=1!
http://www.slideshare.net/ThoughtWorks/taking-swiftfora-spinmrc?qid=525c7536-b9e1-4d45-b8da-0447854f6a93&v=qf1&b=&from_search=10!
http://www.slideshare.net/newgenapps/developing-ios-apps-with-swift?qid=525c7536-b9e1-4d45-b8da-0447854f6a93&v=qf1&b=&from_search=11!
Apple Official Reference