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
81
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
250
Other Decks in Technology
See All in Technology
Phase01_AI座学_基礎
overflowinc
0
4.4k
「AIエージェントで変わる開発プロセス―レビューボトルネックからの脱却」
lycorptech_jp
PRO
0
160
DMBOKを使ってレバレジーズのデータマネジメントを評価した
leveragestech
0
430
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
110
ADK + Gemini Enterprise で 外部 API 連携エージェント作るなら OAuth の仕組みを理解しておこう
kaz1437
0
220
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
110
DDD×仕様駆動で回す高品質開発のプロセス設計
littlehands
6
2.6k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
CREがSLOを握ると 何が変わるのか
nekomaho
0
150
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
1.9k
Phase03_ドキュメント管理
overflowinc
0
2.8k
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
120
Featured
See All Featured
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Why Our Code Smells
bkeepers
PRO
340
58k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
230
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
160
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
180
The agentic SEO stack - context over prompts
schlessera
0
720
A Modern Web Designer's Workflow
chriscoyier
698
190k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
93
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