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
120
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
160
Efficient JSON to Object Parsing
swiftindia
0
130
Sign In with Apple
swiftindia
0
130
Furlenco's AR Journey
swiftindia
0
120
Image processing using Core Image and Metal
swiftindia
0
200
Combine - Diving into Apple’s Reactive Programming
swiftindia
1
240
Social in Hotstar
swiftindia
0
240
Improving App Launch Time
swiftindia
1
100
Introduction to AsyncDisplayKit / Texture
swiftindia
0
150
Other Decks in Programming
See All in Programming
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
2
210
Vibe coding コードレビュー
kinopeee
0
120
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
3
520
Understanding Kotlin Multiplatform
l2hyunwoo
0
230
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
130
MCPで実現できる、Webサービス利用体験について
syumai
7
2.2k
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
15
8.6k
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
110
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
1
120
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
8
410
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
6
1k
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
8
1k
Featured
See All Featured
Writing Fast Ruby
sferik
628
62k
Gamification - CAS2011
davidbonilla
81
5.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Building Adaptive Systems
keathley
43
2.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Navigating Team Friction
lara
187
15k
Making Projects Easy
brettharned
117
6.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
720
A better future with KSS
kneath
238
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
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