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
Backend Driven UIs
Search
Swift India
January 25, 2020
Programming
0
110
Backend Driven UIs
Presented by Bhagat Singh
Swift India
January 25, 2020
Tweet
Share
More Decks by Swift India
See All by Swift India
Network Layer Abstraction
swiftindia
0
150
Efficient JSON to Object Parsing
swiftindia
0
120
Sign In with Apple
swiftindia
0
120
Furlenco's AR Journey
swiftindia
0
110
Image processing using Core Image and Metal
swiftindia
0
190
Combine - Diving into Apple’s Reactive Programming
swiftindia
1
220
Social in Hotstar
swiftindia
0
230
Improving App Launch Time
swiftindia
1
91
Introduction to AsyncDisplayKit / Texture
swiftindia
0
140
Other Decks in Programming
See All in Programming
OpenNext + Hono on Cloudflare でイマドキWeb開発スタックを実現する
rokuosan
0
110
Parallel::Pipesの紹介
skaji
2
900
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
0
110
FastMCPでMCPサーバー/クライアントを構築してみる
ttnyt8701
2
130
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
130
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
110
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
10
1.6k
Perlで痩せる
yuukis
1
680
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
150
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
910
JSAI2025 RecSysChallenge2024 優勝報告
unonao
1
430
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
20
5.6k
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
The Invisible Side of Design
smashingmag
299
50k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Why Our Code Smells
bkeepers
PRO
337
57k
Automating Front-end Workflow
addyosmani
1370
200k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.6k
Practical Orchestrator
shlominoach
188
11k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Transcript
Backend Driven UIs
PhonePe iOS Engineer raywenderlich.com Contributor
How we build it now?
We make a TableView or a CollectionView.
Includes a lot of boilerplate, which you are tired of
writing.
Bloats the app.
We keep on doing this till infinity.
The main turn off
Design Iterations
Changing that same view
Again
And Again
Again.
None
Make it independent
“Driving it from the backend”
Why would you want such a thing?
It is purely use-case dependent.
SwiftUI has not taken over the world right now.
Consistency
Adaptability
Iterative
Scaleable
Prerequisites
Design System
Steps to uniforming your UI
Invest time in making a uniform design system
Many Design tools such as Figma, Sketch, Adobe XD.
The most important part.
Get that design system into code
Make it driven from the backend.
Laying our views realtime
UICollectionView
Consists of two entities
Data and Layout
Layout
ViewType
None
ScrollType
None
Data
Data is just an array of objects, which includes necessary
parameters like title, image etc.
UI Elements
BaseView
BaseView is a UIView + A protocol which has all
necessary information to calculate sizes, set some data and so on.
BaseCollectionViewCell
BaseCollectionViewCell is a CVC which has all relevant information on
calculating size and for the layout of the rest of the view.
BaseTableViewCell
BaseTableViewCell is a container which holds all our collectionViews
Some Code
Handling Clicks
Deeplinks and ViewModels
Deeplinks are the key here for in-app navigation
Some Pros
Scaleable
Testable
No intervention necessary
Realtime Updates
Fast and hassle-free
Can last you at least a year if done properly.
Can last you at least a year if done properly.
Unless you have a crazy designer
Some Cons
Performance
Overkill
Idk if it works with Storyboards
What can be improved?
Height Calculations
Height Caching
Some boilerplate
Questions, Suggestions, Ideas!
Thanks @soulful_swift