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
83
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
100
Efficient JSON to Object Parsing
swiftindia
0
78
Sign In with Apple
swiftindia
0
88
Furlenco's AR Journey
swiftindia
0
75
Image processing using Core Image and Metal
swiftindia
0
150
Combine - Diving into Apple’s Reactive Programming
swiftindia
1
160
Social in Hotstar
swiftindia
0
150
Improving App Launch Time
swiftindia
1
72
Introduction to AsyncDisplayKit / Texture
swiftindia
0
100
Other Decks in Programming
See All in Programming
From Spring Boot 2 to Spring Boot 3 with Java 22 and Jakarta EE
ivargrimstad
0
810
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
250
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
har1101
0
300
両面どころかインフラもTSでできるよ ~ 全方位TypeScriptによるプロダクト開発 ~
myfinder
9
3.2k
ONE WEDGE_company_guide
1wedge_one
0
330
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
1k
AWS Application Composerで始める、 サーバーレスなデータ基盤構築 / 20240406-jawsug-hokuriku-shinkansen
kasacchiful
1
240
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
180
Elm Form Validation
bkuhlmann
0
500
雑に思考を整理する技術と効能
konifar
52
22k
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
110
try! Swift Tokyo 初参加報告LT
hinakko2
0
180
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
How GitHub (no longer) Works
holman
302
140k
Scaling GitHub
holman
457
140k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.3k
Become a Pro
speakerdeck
PRO
9
4.5k
Writing Fast Ruby
sferik
619
60k
Done Done
chrislema
178
15k
A better future with KSS
kneath
230
16k
Building a Modern Day E-commerce SEO Strategy
aleyda
16
6.3k
GitHub's CSS Performance
jonrohan
1023
450k
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