Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
OkMVP
Search
Aaron He
March 08, 2016
Technology
80
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OkMVP
An internal talk I gave at work on MVP.
Aaron He
March 08, 2016
More Decks by Aaron He
See All by Aaron He
Road to Modularization(DroidCon NYC 2019)
aaronhe
1
220
There's No Magic - How Kotlin can be your best friends @DevFest LA 2017
aaronhe
0
49
Google I/O '17 recap - GDG LA May 2017 Android@Tinder
aaronhe
0
110
RxJava for Android - GDG DevFest LA 2016
aaronhe
0
94
Memory Leak on Andriod - GDG LA July 2016
aaronhe
0
51
Auto Value and Its Extension GDG LA April
aaronhe
0
64
Other Decks in Technology
See All in Technology
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
150
「作れる」と「リリースできる」の間にあったもの── PdMを外して見えた、PdMがやるべき仕事/Buildable ≠ Shippable: What Removing the PM Taught Me About the PM’s Job
yappli_developers
0
200
freeeにおけるSoftware Factory
freee
PRO
0
450
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
260
freeeにおける AI を用いた ブラウザ動作確認の自動化の取り組み
freee
PRO
0
190
Claude for Google Workspaces ポン出し/claude-for-google-workspace-slide-conversion
emiki
0
12k
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
170
How to Design Configuration for Rails Applications
willnet
2
1.2k
顧客価値を追いかけたら、プライシングにたどり着いた
sansantech
PRO
2
940
Refining Active Record
shugo
0
240
国際カードブランドルール変更に伴うクレジットカード決済取引仕様変更について
k1style
0
210
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
0
170
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
760
Making Projects Easy
brettharned
120
6.8k
Side Projects
sachag
456
43k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
230
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
Between Models and Reality
mayunak
4
500
Scaling GitHub
holman
464
140k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
740
Transcript
OK MVP Aaron He
OK MAP WHAT’S THE PROBLEM? ▸ We want to deliver
features fast ▸ At same time we need it reliable, scalable and maintainable ▸ We also need a pattern that is consistent
OK MVP DECOUPLE BUSINESS LOGIC ▸ Activity/Fragment is difficult to
test ▸ Yes, Espresso/UI Automater but with sloppy design Integration tests are a scam: https://vimeo.com/80533536
OK MVP WHAT IS MVP? ▸ Model-View-Presenter https://github.com/rallat/EffectiveAndroid
OK MVP MODEL-VIEW-PRESENTER ▸ Start by defining interfaces. Pop Config
as an example. ▸ Model ▸ View ▸ Presenter ▸ The interface is the contract ▸ Can be mocked
OK MVP EASY TO INTEGRATE WITH LEGACY CODE ▸ Flexible
▸ Example: Confirm dialog when vehicle is deleted
OK MVP WHAT COULD GO WRONG ▸ The View ▸
Android fragmentation ▸ Interface is the contract ▸ But does the implementation actually do what you expect? Integration tests are a scam: https://vimeo.com/80533536
OK MVP OTHER CHOICES ▸ MVC ▸ MVVM ▸ U2020
OK MVP OK MVP ▸ An Ok architecture but simple,
scalable, maintainable A few Ok libraries: https://www.youtube.com/watch?v=WvyScM_S88c