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
State of Declarative UI on Mobile Development
Search
Alessandro Calzavara
December 02, 2023
Programming
0
190
State of Declarative UI on Mobile Development
A bit of history to understand how we got here, and what we have now and what we want in our future
Alessandro Calzavara
December 02, 2023
Tweet
Share
More Decks by Alessandro Calzavara
See All by Alessandro Calzavara
Remote working: 9 years of lessons learnt
dral3x
1
600
Alexa, can you help me?
dral3x
1
720
Deploy mobile apps with fastlane
dral3x
0
220
RxJava: a Java implementation of Reactive Extentions
dral3x
0
720
Android 101 - Hackatron.org
dral3x
0
770
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
210
株式会社 Sun terras カンパニーデック
sunterras
0
250
Model Pollution
hschwentner
1
190
CSC509 Lecture 02
javiergs
PRO
0
410
Signals & Resource API in Angular: 3 Effective Rules for Your Architecture @BASTA 2025 in Mainz
manfredsteyer
PRO
0
110
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
160
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
640
CSC509 Lecture 05
javiergs
PRO
0
300
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
240
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.1k
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
8
5.5k
CSC509 Lecture 03
javiergs
PRO
0
330
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
How STYLIGHT went responsive
nonsquared
100
5.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Automating Front-end Workflow
addyosmani
1371
200k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Typedesign – Prime Four
hannesfritz
42
2.8k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Transcript
STATE OF DECLARATIVE UI on Mobile Development
Hello 👋 I’m Alessandro Calzavara 📱 Mobile Tech Lead @
Spreaker.com 🍺 Marca User Group meetup organizer 🥩 BBQ Grill Master
Table of Contents 1. Imperative UI 2. The Rise of
Declarative UI 3. The Challenges 4. Wrap Up
Imperative UI
“A sequence of instructions that synchronize the UI with the
state.” Imperative UI
Example
Imperative Approach Simple to understand 👍 Verbose 👎 Manual sync
between UI and state 👎
The Rise of Declarative UI
The Rise of Declarative UI 2013: React
“the UI is function of the state” Declarative UI
Foundational blocks Explicit state properties When state changes, the UI
changes automatically Create views by combining several components
Declarative Approach Less Code to Write 👍 Automatic UI Updates
👍 Mental Shift Required ⚠ More CPU Demanding 🤷
The Rise of Declarative UI 2013: React
The Rise of Declarative UI 2013: React 2015: React Native
React Native Cross platform, but Native 👍 Hot swap code
🚀 Performance 👎🤷 Customization 👎
The Rise of Declarative UI 2013: React 2015: React Native
The Rise of Declarative UI 2013: React 2015: React Native
2017: Flutter
Flutter Declarative 👍 Multi platform 👍 No native UI components
👎
The Rise of Declarative UI 2013: React 2015: React Native
2017: Flutter
The Rise of Declarative UI 2013: React 2015: React Native
2017: Flutter 2019: SwiftUI & Jetpack Compose
Declarative 👍 Swift 👍 Slow to improve 👎 SwiftUI
Jetpack Compose Declarative 👍 Wide OS support 👍 IDE integration
👎
SwiftUI vs Jetpack Compose
The Challenges
State Handling
State Handling • State Hoisting • Architecture • .equals(...)
Testing
Testing • View tests • Demo screens as test
Integration with Imperative UI
Integration with Imperative UI Theming Navigation Incremental Deploy
Wrap Up
“Declarative UI is the future.” From: Random Dev from the
Internet
Thanks!