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
250
0
Share
Approaching Clean Architecture in Android w/ Kotlin
Speech for Kyiv Kotlin Night. #KNightKyiv #Kotlin #Kyiv
Artyom Dorosh
March 24, 2018
More Decks by Artyom Dorosh
See All by Artyom Dorosh
Android Forge:
doroshartyom
1
71
Other Decks in Programming
See All in Programming
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
150
의존성 주입과 모듈화
fornewid
0
110
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
180
Running Swift without an OS
kishikawakatsumi
0
380
安いハードウェアでVulkan
fadis
1
930
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
130
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
150
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
130
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
230
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.7k
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
160
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.3k
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
0
290
WCS-LA-2024
lcolladotor
0
520
Making Projects Easy
brettharned
120
6.6k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
150
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.3k
Documentation Writing (for coders)
carmenintech
77
5.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
170
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
800
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
110
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
290
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