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
Approaching Clean Architecture in Android w/ Ko...
Search
Artyom Dorosh
March 24, 2018
Programming
0
250
Approaching Clean Architecture in Android w/ Kotlin
Speech for Kyiv Kotlin Night. #KNightKyiv #Kotlin #Kyiv
Artyom Dorosh
March 24, 2018
Tweet
Share
More Decks by Artyom Dorosh
See All by Artyom Dorosh
Android Forge:
doroshartyom
1
68
Other Decks in Programming
See All in Programming
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
270
Better Code Design in PHP
afilina
PRO
0
130
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
110
受け取る人から提供する人になるということ
little_rubyist
0
250
flutterkaigi_2024.pdf
kyoheig3
0
150
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
910
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
250
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
150
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
Featured
See All Featured
Statistics for Hackers
jakevdp
796
220k
What's in a price? How to price your products and services
michaelherold
243
12k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
A Philosophy of Restraint
colly
203
16k
Embracing the Ebb and Flow
colly
84
4.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
430
Rails Girls Zürich Keynote
gr2m
94
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Transcript
Approaching Clean Architecture w/ Kotlin in Android Artyom Dorosh 1
About me • 4+ years in Android Development • Writing
in Kotlin since the late beta • Helping people at StackOverflow • Making cool stuff at themind.io 2
3
Agenda 1. Clean Architecture 2. CA & Android 3. CA
& Kotlin 4
Clean Architecture 5
What is Clean Architecture? 6
7 Independent of Framework
8 Independent of UI
9 Independent of Data Sources
10 Testable
CA is • Independent of Frameworks • Testable • Independent
of UI • Independent of Data Sources 11
The Scheme Entities Use cases Presenters UI DB Network Domain
logic Business Rules Interface Adapters Frameworks & Sources Dependency Rule 12 Gateways
13 Android
Entities Use cases Presenters UI DB Network 14 Gateways
Dependency Presenters Repositories Use Cases Entities UI DB Web 15
Dependency Presenters Repositories Use Cases Entities UI DB Web 16
Presentation Data Domain
Data flow. Explained. Use Cases Entities Repos Domain Data Presentation
17 Web DB HAL UI Presenters
18 CA ♥ Android
19 CA ♥ CC
Kotlin 20
DEMO 21
Pros & Cons of CA 22
Easy to maintain 23 ♥
Easy to share 24 ♥
~ 70% code base sharing 25
Easy to test 26 ♥
Over-engineering 27
YAGNI Principle ✍ 28
One more thing … 29
The real issue Mobile developers thinking too much about software
architecture, because … 30
Software architecture is the money talk. 31
32
33
34
35
36
Slow and steady wins the race. 37
38
Source Code on GitHub 39 https://goo.gl/AT2bdS
Books to Read 40 https://goo.gl/p50lsZ
Books to Read 41 https://goo.gl/ZkyKsu
Contact me twitter.com/dniHze t.me/dniHze github.com/dniHze 42
Chat & Channel t.me/kpidroid t.me/androidpain 43
Thats all, folks! Any questions? 44