Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Backend Driven UIs
Search
Swift India
January 25, 2020
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Backend Driven UIs
Presented by Bhagat Singh
Swift India
January 25, 2020
More Decks by Swift India
See All by Swift India
Network Layer Abstraction
swiftindia
0
190
Efficient JSON to Object Parsing
swiftindia
0
180
Sign In with Apple
swiftindia
0
190
Furlenco's AR Journey
swiftindia
0
160
Image processing using Core Image and Metal
swiftindia
0
270
Combine - Diving into Apple’s Reactive Programming
swiftindia
1
320
Social in Hotstar
swiftindia
0
280
Improving App Launch Time
swiftindia
1
170
Introduction to AsyncDisplayKit / Texture
swiftindia
0
220
Other Decks in Programming
See All in Programming
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
6k
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.6k
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
470
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
22
22k
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
170
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
110
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
210
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.1k
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
410
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
150
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
490
Featured
See All Featured
HDC tutorial
michielstock
2
960
Bash Introduction
62gerente
615
220k
30 Presentation Tips
portentint
PRO
1
430
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
470
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
620
Faster Mobile Websites
deanohume
310
32k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
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