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
Thinking in Swift by Ritesh at SwiftDelhi-1
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Swift India
January 21, 2017
Programming
67
0
Share
Thinking in Swift by Ritesh at SwiftDelhi-1
Thinking in Swift by Ritesh at SwiftDelhi-1
Swift India
January 21, 2017
More Decks by Swift India
See All by Swift India
Network Layer Abstraction
swiftindia
0
180
Efficient JSON to Object Parsing
swiftindia
0
150
Sign In with Apple
swiftindia
0
150
Furlenco's AR Journey
swiftindia
0
140
Image processing using Core Image and Metal
swiftindia
0
240
Combine - Diving into Apple’s Reactive Programming
swiftindia
1
270
Social in Hotstar
swiftindia
0
260
Improving App Launch Time
swiftindia
1
130
Backend Driven UIs
swiftindia
0
150
Other Decks in Programming
See All in Programming
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
260
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
210
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.5k
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
The free-lunch guide to idea circularity
hollycummins
0
390
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
700
へんな働き方
yusukebe
6
2.9k
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
470
Understanding Apache Lucene - More than just full-text search
spinscale
0
150
AI 開発合宿を通して得た学び
niftycorp
PRO
0
180
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
110
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
130
Featured
See All Featured
Visualization
eitanlees
150
17k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Balancing Empowerment & Direction
lara
5
1k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
170
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
91
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Designing for Performance
lara
611
70k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Limits of Empathy - UXLibs8
cassininazir
1
280
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Transcript
in Swift ~ Ritesh Gupta (Swift India, Delhi Meetup)
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 }
None
None
None
None
stuck with Inheritance..
None
None
compose everything with Protocols..
UIButton UIBarButtonItem
UIButton UIControl UIView
UIBarButtonItem UIBarItem NSObject
UIBarButtonItem UIBarItem NSObject UIButton UIControl UIView
None
None
Entity (class, struct) vs Behaviour (protocol)
UIView Framable
UIImageView ImageRenderable, Framable
UIButton Tappable, ImageRenderable, Framable
UITableViewCell UICollectionViewCell Reusable, Framable
UIScrollView Scrollable, Framable
UITableView UICollectionView Listable, Scrollable, Framable
UI Entities is collection of behaviours…
..computed variables, extensions, values types, immutability, functional programming, generics, enums,
associative types/ values..
thinking in protocol..
None