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
How to be a POP-Star
Search
Ritesh Gupta
July 05, 2017
Programming
1
370
How to be a POP-Star
POP - Protocol Oriented Programming
Ritesh Gupta
July 05, 2017
Tweet
Share
More Decks by Ritesh Gupta
See All by Ritesh Gupta
Declarative Networking with Combine –– iOS Conf SG 2020
riteshhh
0
190
Combine! All the things
riteshhh
3
700
Deep dive into Protocols
riteshhh
1
440
Thinking in Swift!
riteshhh
3
420
Other Decks in Programming
See All in Programming
ゲームの物理 剛体編
fadis
0
380
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
270
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
140
Grafana:建立系統全知視角的捷徑
blueswen
0
230
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
410
クラウドに依存しないS3を使った開発術
simesaba80
0
180
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.4k
AIコーディングエージェント(Gemini)
kondai24
0
280
Graviton と Nitro と私
maroon1st
0
140
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
180
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
130
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
How to Talk to Developers About Accessibility
jct
1
86
Technical Leadership for Architectural Decision Making
baasie
0
190
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Speed Design
sergeychernyshev
33
1.4k
Chasing Engaging Ingredients in Design
codingconduct
0
87
Designing Powerful Visuals for Engaging Learning
tmiket
0
190
Are puppies a ranking factor?
jonoalderson
0
2.5k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
50k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
280
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Transcript
how to be a POP-Star (Swift Chennai Meetup) ~ Ritesh
Gupta
/@_riteshhh /riteshhgupta /issues/295 /swift-snippets
None
None
`Protocol-Oriented Programming in Swift` https://developer.apple.com/videos/play/wwdc2015/408/ WWDC - 2015
`Protocol and Value Oriented Programming in UIKit Apps` https://developer.apple.com/videos/play/wwdc2016/419/ WWDC
- 2016
Swift is just not a syntax migration from Objective-C…
Swift is not objective-c styled language…
C ~> C++ Objective-C ~> Swift { imperative } {
object oriented } { object oriented } { protocol oriented }
Entity (class, struct - UI or Model) vs Behaviour (protocol)
Entity is collection of behaviours…
UIButton UIBarButtonItem
UIBarButtonItem UIBarItem NSObject UIButton UIControl UIView
UIBarButtonItem UIBarItem NSObject UIButton UIControl UIView
None
None
UIKit + Protocols
UIView Framable
UIImageView ImageRenderable, Framable
UIButton Tappable, ImageRenderable, Framable
compose everything with Protocols..
UITableViewCell UICollectionViewCell Reusable, Framable
UIScrollView Scrollable, Framable
UITableView UICollectionView Listable, Scrollable, Framable
thinking in protocol..
protocol ->
protocol -> protocol extension ->
protocol -> protocol extension -> protocol constrained extension ->
playground demos..
protocol is not a silver bullet.. http://chris.eidhof.nl/post/protocol-oriented-programming/
..computed variables, extensions, values types, immutability, functional programming, generics, enums,
associative types/ values..
None