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
170
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
580
Alexa, can you help me?
dral3x
1
700
Deploy mobile apps with fastlane
dral3x
0
220
RxJava: a Java implementation of Reactive Extentions
dral3x
0
710
Android 101 - Hackatron.org
dral3x
0
760
Other Decks in Programming
See All in Programming
MCPで実現できる、Webサービス利用体験について
syumai
7
2.4k
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
0
200
新しいモバイルアプリ勉強会(仮)について
uetyo
1
250
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
41
16k
あのころの iPod を どうにか再生させたい
orumin
0
110
実践!App Intents対応
yuukiw00w
0
130
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
2k
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
0
180
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
110
GitHub Copilotの全体像と活用のヒント AI駆動開発の最初の一歩
74th
6
1.8k
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
6
1.1k
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
5
760
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Navigating Team Friction
lara
188
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
The Pragmatic Product Professional
lauravandoore
36
6.8k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Bash Introduction
62gerente
614
210k
Code Review Best Practice
trishagee
69
19k
Into the Great Unknown - MozCon
thekraken
40
2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Git: the NoSQL Database
bkeepers
PRO
431
65k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
790
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!