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
180
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
590
Alexa, can you help me?
dral3x
1
710
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
ワープロって実は計算機で
pepepper
2
1.4k
【第4回】関東Kaggler会「Kaggleは執筆に役立つ」
mipypf
0
830
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
140
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
13
2.8k
AIレビュアーをスケールさせるには / Scaling AI Reviewers
technuma
2
230
あのころの iPod を どうにか再生させたい
orumin
2
2.5k
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.8k
兎に角、コードレビュー
mitohato14
0
150
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
3
1.2k
AHC051解法紹介
eijirou
0
620
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
210
A Gopher's Guide to Vibe Coding
danicat
0
170
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
73
5k
Into the Great Unknown - MozCon
thekraken
40
2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
A better future with KSS
kneath
239
17k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Bash Introduction
62gerente
614
210k
GraphQLとの向き合い方2022年版
quramy
49
14k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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!