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
140
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
550
Alexa, can you help me?
dral3x
1
670
Deploy mobile apps with fastlane
dral3x
0
220
RxJava: a Java implementation of Reactive Extentions
dral3x
0
690
Android 101 - Hackatron.org
dral3x
0
740
Other Decks in Programming
See All in Programming
Optimizing JRuby 10
headius
0
500
メモリウォールを超えて:キャッシュメモリ技術の進歩
kawayu
0
1.9k
AHC045_解説
shun_pi
0
560
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
150
API for docs
soutaro
3
1.5k
カオスに立ち向かう小規模チームの装備の選択〜フルスタックTSという装備の強み _ 弱み〜/Choosing equipment for a small team facing chaos ~ Strengths and weaknesses of full-stack TS~
bitkey
1
110
状態と共に暮らす:ステートフルへの挑戦
ypresto
3
920
Vibe Coding の話をしよう
schroneko
12
3.1k
Java 24まとめ / Java 24 summary
kishida
3
510
「”誤った使い方をすることが困難”な設計」で良いコードの基礎を固めよう / phpcon-odawara-2025
taniguhey
0
170
小田原でみんなで一句詠みたいな #phpcon_odawara
stefafafan
0
350
AIコーディングの理想と現実
tomohisa
33
35k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.3k
Gamification - CAS2011
davidbonilla
81
5.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Thoughts on Productivity
jonyablonski
69
4.6k
Rails Girls Zürich Keynote
gr2m
94
13k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
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!