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
100
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
130
Efficient JSON to Object Parsing
swiftindia
0
110
Sign In with Apple
swiftindia
0
110
Furlenco's AR Journey
swiftindia
0
100
Image processing using Core Image and Metal
swiftindia
0
180
Combine - Diving into Apple’s Reactive Programming
swiftindia
1
210
Social in Hotstar
swiftindia
0
200
Improving App Launch Time
swiftindia
1
81
Introduction to AsyncDisplayKit / Texture
swiftindia
0
130
Other Decks in Programming
See All in Programming
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
670
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
270
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
260
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
120
CNCF Project の作者が考えている OSS の運営
utam0k
5
690
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
1
640
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
230
iOSエンジニアから始める visionOS アプリ開発
nao_randd
3
120
Introduction to kotlinx.rpc
arawn
0
630
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
2
300
ASP. NET CoreにおけるWebAPIの最新情報
tomokusaba
0
360
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
360
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
98
5.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.3k
Code Reviewing Like a Champion
maltzj
521
39k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
A Tale of Four Properties
chriscoyier
158
23k
Thoughts on Productivity
jonyablonski
69
4.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
RailsConf 2023
tenderlove
29
1k
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