Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Swift - uma fama repentina
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
hannelita
October 16, 2014
Technology
1
150
Swift - uma fama repentina
Palestra no TDC de POA 2014 - trilha mobile
hannelita
October 16, 2014
Tweet
Share
More Decks by hannelita
See All by hannelita
Java EE 8 - Future, Wishes and Predictions
hannelita
1
220
JVM Internals Demystified
hannelita
0
370
Eletrônica
hannelita
0
190
Cassandra Meetup
hannelita
0
79
Our Daily Graphs written in Ruby and Neo4j
hannelita
1
190
Wildfly em alta disponibilidade
hannelita
0
270
Helios - o backend pra Mobile que você precisava <3
hannelita
0
120
Neo4j - Dia a dia com grafos, Neo4j e Ruby
hannelita
1
160
Curso relâmpago de eletrônica básica para desenvolvedores
hannelita
1
250
Other Decks in Technology
See All in Technology
新職業『オーケストレーター』誕生 — エージェント10体を同時に回すAgentOps
gunta
4
1.7k
生成AIの利用とセキュリティ /gen-ai-and-security
mizutani
1
1.5k
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
230
白金鉱業Meetup_Vol.22_Orbital Senseを支える衛星画像のマルチモーダルエンベディングと地理空間のあいまい検索技術
brainpadpr
2
270
組織全体で実現する標準監視設計
yuobayashi
2
330
トップマネジメントとコンピテンシーから考えるエンジニアリングマネジメント
zigorou
4
780
AWS DevOps Agent vs SRE俺 / AWS DevOps Agent vs me, the SRE
sms_tech
3
450
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
850
決済サービスを支えるElastic Cloud - Elastic Cloudの導入と推進、決済サービスのObservability
suzukij
1
470
[AEON TECH HUB #24] お客様の長期的興味の理解に向けて
alpicola
0
130
楽しく学ぼう!コミュニティ入門 AWSと人が つむいできたストーリー
hiroramos4
PRO
1
170
開発組織の課題解決を加速するための権限委譲 -する側、される側としての向き合い方-
daitasu
5
320
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
710
How to make the Groovebox
asonas
2
2k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
150
Visualization
eitanlees
150
17k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
960
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
The Curious Case for Waylosing
cassininazir
0
260
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
850
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
140
Transcript
Swift Uma 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 stuff Traz 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ão Swift: 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.
Valeu!!! Perguntas?
[email protected]
@hannelita
Referências http://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