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
RIBs
Search
Naoki ISHIKAWA
March 08, 2018
Technology
2
1.7k
RIBs
About mobile architecture using RIBs from uber
Naoki ISHIKAWA
March 08, 2018
Tweet
Share
More Decks by Naoki ISHIKAWA
See All by Naoki ISHIKAWA
パラレルの通話を支える iOS アプリ上での技術
jarinosuke
0
2.1k
メルペイのエンジニアリング組織の変化と目指すチーム像
jarinosuke
5
6k
US 版 Mercari をまるごと1から作り直した話
jarinosuke
2
4.3k
メルカリiOSアプリ開発の現状とこれから / Mercari Day 2017
jarinosuke
3
6.6k
Drink Meetup with Mercari #36
jarinosuke
0
1.1k
Switching Icon.png depending on each environment
jarinosuke
2
11k
Other Decks in Technology
See All in Technology
【JAWS-UG大阪 reInvent reCap LT大会 サンバが始まったら強制終了】“1分”で初めてのソロ参戦reInventを数字で振り返りながら反省する
ttelltte
0
140
Formal Development of Operating Systems in Rust
riru
1
420
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
240
#TRG24 / David Cuartielles / Post Open Source
tarugoconf
0
580
【NGK2025S】動物園(PINTO_model_zoo)に遊びに行こう
kazuhitotakahashi
0
220
JuliaTokaiとJuliaLangJaの紹介 for NGK2025S
antimon2
1
110
2025年の挑戦 コーポレートエンジニアの技術広報/techpr5
nishiuma
0
140
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
3
3.3k
Accessibility Inspectorを活用した アプリのアクセシビリティ向上方法
hinakko
0
180
完全自律型AIエージェントとAgentic Workflow〜ワークフロー構築という現実解
pharma_x_tech
0
340
I could be Wrong!! - Learning from Agile Experts
kawaguti
PRO
8
3.4k
When Windows Meets Kubernetes…
pichuang
0
300
Featured
See All Featured
Music & Morning Musume
bryan
46
6.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
860
Designing on Purpose - Digital PM Summit 2013
jponch
116
7.1k
Code Review Best Practice
trishagee
65
17k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
Transcript
RIBsΛ༻͍ͨϞόΠϧ ΞʔΩςΫνϟઃܭ Naoki ISHIKAWA (@jarinosuke) try!Swift Tokyo After talks
Self Introduction • ੴथ Naoki ISHIKAWA • @jarinosuke • iOS
Engineer at merpay, Inc
uber/RIBs
None
Agenda • 1.What is RIBs? • 2.Motivation • 3.Inside of
RIBs • Overview • Units • 4.Conclusion
1.What is RIBs? • Shared architecture between iOS/Android • Testability
and Isolation • Scalable between hundreds of engineers in Uber
2.Motivation • Problem • MVC with massive view controllers •
Technical debt accumulated by adding new features • Try • Keep high-quality core experience for users • Allow radical experimentation/test in product
3.Inside of RIBs
None
RIBs units
Router Attaching/Detaching child RIBs
Interactor Handle all business logic that will be displayed on
view
Builder Define all dependences and instantiate classes in RIB
Presenter Manage communications between Interactor and View
View(Controller) ViewController with no logic Just display data from Presenter
Communication between RIBs
4.Conclusion • Business logic tree provided by RIBs can drive
• Isolation of codes • Scalability in team and business • uber/RIBs can be one of the good choice of mobile architecture
!