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
6.1k
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
AWSLambdaMCPServerを使ってツールとMCPサーバを分離する
tkikuchi
1
1.8k
入社後SREチームのミッションや課題の整理をした話
morix1500
1
240
Would you THINK such a demonstration interesting ?
shumpei3
1
140
やさしいMCP入門
minorun365
PRO
146
94k
Startups On Rails 2025 @ Tropical on Rails
irinanazarova
0
240
「それはhowなんよ〜」のガイドライン #orestudy
77web
9
2.4k
Amebaにおける Platform Engineeringの実践
kumorn5s
6
890
OPENLOGI Company Profile for engineer
hr01
1
23k
試験は暗記より理解 〜効果的な試験勉強とその後への活かし方〜
fukazawashun
0
340
YOLOv10~v12
tenten0727
3
840
Webアプリを Lambdaで動かすまでに考えること / How to implement monolithic Lambda Web Application
_kensh
7
1.2k
.mdc駆動ナレッジマネジメント/.mdc-driven knowledge management
yodakeisuke
24
10k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
Gamification - CAS2011
davidbonilla
81
5.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
How to Ace a Technical Interview
jacobian
276
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
4 Signs Your Business is Dying
shpigford
183
22k
Visualization
eitanlees
146
16k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
640
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
!