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
hannelita
October 16, 2014
Technology
160
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift - uma fama repentina
Palestra no TDC de POA 2014 - trilha mobile
hannelita
October 16, 2014
More Decks by hannelita
See All by hannelita
Java EE 8 - Future, Wishes and Predictions
hannelita
1
230
JVM Internals Demystified
hannelita
0
380
Eletrônica
hannelita
0
200
Cassandra Meetup
hannelita
0
85
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
130
Neo4j - Dia a dia com grafos, Neo4j e Ruby
hannelita
1
160
Curso relâmpago de eletrônica básica para desenvolvedores
hannelita
1
270
Other Decks in Technology
See All in Technology
4人目のSREはAgent
tanimuyk
0
260
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
210
水を運ぶ人としてのリーダーシップ
izumii19
4
1k
Amazon Redshift zero-ETL 統合を活用した軽量なマルチプロダクトデータ可視化基盤 / Lightweight Multi-Product Data Visualization with Amazon Redshift Zero-ETL
kaminashi
0
110
OTel × Datadog で 「AI活用」を計測し、改善に繋げる
shihochan
2
1k
AIエージェントとPhysical AIが拓く製造業の変革(ハノーバーメッセリキャップ)
iotcomjpadmin
0
160
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
600
40代で“やっとエンジニアになれた”――閉じた学びを開き、空の青さを知る / 20260628 Naoki Takahashi
shift_evolve
PRO
4
1k
そこにあるから地図ができる~位置を示す"モノ"を愉しむ~ - Interface 2026年6月号GPS特集オフ会 / interface_202606_GPS_offline
sakaik
1
110
起点・思考・出力で分解する 〜PM業務の自動化設計〜
kazu_kichi_67
2
1.1k
事業会社における 機械学習・推薦システム技術の活用事例と必要な能力 / ml-recsys-in-layerx-wantedly-2026
yuya4
0
160
AWS Security Agent といっしょに脅威モデリングをやってみよう
amarelo_n24
1
210
Featured
See All Featured
Writing Fast Ruby
sferik
630
63k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
RailsConf 2023
tenderlove
30
1.5k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
640
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Context Engineering - Making Every Token Count
addyosmani
9
980
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
170
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
210
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
450
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
260
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