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
Droidy Architectures in a messy world
Search
Roberto Orgiu
December 02, 2017
Programming
0
40
Droidy Architectures in a messy world
Slides of the talk I gave at DevFest1 Veneto 2017
Roberto Orgiu
December 02, 2017
Tweet
Share
More Decks by Roberto Orgiu
See All by Roberto Orgiu
Wellness & Droid
tiwiz
0
100
Behind the curtains
tiwiz
0
47
The Importance of Being Tested
tiwiz
0
390
An Android Dev start to Kotlin MPP
tiwiz
0
150
Fantastic API and where to find them
tiwiz
0
60
Flipping the Koin @ GDG Dev Party
tiwiz
1
49
Flipping the Koin
tiwiz
2
140
Trip into the async world @ NYC Kotlin Meetup
tiwiz
0
91
Trip into the async world
tiwiz
1
110
Other Decks in Programming
See All in Programming
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
2
210
Claude Code派?Gemini CLI派? みんなで比較LT会!_20250716
junholee
1
530
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
12k
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
200
マッチングアプリにおけるフリックUIで苦労したこと
yuheiito
0
190
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
1k
Quand Symfony, ApiPlatform, OpenAI et LangChain s'allient pour exploiter vos PDF : de la théorie à la production…
ahmedbhs123
0
220
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
12
3.7k
型で語るカタ
irof
0
700
テスト駆動Kaggle
isax1015
1
620
「App Intent」よくわからんけどすごい!
rinngo0302
1
100
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Documentation Writing (for coders)
carmenintech
72
4.9k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Visualization
eitanlees
146
16k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
700
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Transcript
Droidy in a messy Architectures world
@_tiwiz
Introducing Architecture Components…
None
Expected reaction
YOU ARE NOT FORCED TO USE THEM ALL AT THE
SAME TIME. Someone, somewhere
None
Other expected reaction
LIVEDATA
veryLongCalculation()
veryLongCalculation() expecting result?
veryLongCalculation()
veryLongCalculation() synchronous
veryLongCalculation() synchronous
veryLongCalculation()
veryLongCalculation() listener
veryLongCalculation()
veryLongCalculation() .observe()
veryLongCalculation() .observe()
ROOM
list_of_cities.json
list_of_cities.json List<City>
list_of_cities.json List<City> $
list_of_cities.json List<City> Cache
List<City> Cache
List<City> Cache $
VIEWMODEL
getDataFromBackend()
getDataFromBackend() dataPresenter
getDataFromBackend() dataPresenter ?
getDataFromBackend() dataPresenter viewModel
getDataFromBackend() dataPresenter viewModel !
LIFECYCLE
clientApi.onCreate() clientApi.onStart() clientApi.onStop() clientApi.onDestroy()
clientApi.onCreate() clientApi.onStart() clientApi.onStop() clientApi.onDestroy() Activity
clientApi.onCreate() clientApi.onStart() clientApi.onStop() clientApi.onDestroy() Activity
clientApi.onCreate() clientApi.onStart() clientApi.onStop() clientApi.onDestroy() LifecycleObserver Activity
clientApi.onCreate() clientApi.onStart() clientApi.onStop() clientApi.onDestroy() LifecycleObserver Activity
clientApi.onCreate() clientApi.onStart() clientApi.onStop() clientApi.onDestroy() LifecycleObserver Activity
None
ProcessLifecycleOwner
None
None
WebView
WebView
ON_START
ON_START Save system status Apply app status (system wide)
ON_STOP
ON_STOP Load system status Apply back system status
PAGINATION
List<City>
List<City> RecyclerView
List<City> RecyclerView $
List<City>
List<City> PagedListAdapter
List<City> PagedListAdapter no lag!
List<City> PagedListAdapter no lag! better UX!
None
None
open.nytimes.com @nytdev github.com/NYTimes developers.nytimes.com
Thank You
Q?