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.8k
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.4k
US 版 Mercari をまるごと1から作り直した話
jarinosuke
2
4.4k
メルカリiOSアプリ開発の現状とこれから / Mercari Day 2017
jarinosuke
3
6.7k
Drink Meetup with Mercari #36
jarinosuke
0
1.2k
Switching Icon.png depending on each environment
jarinosuke
2
11k
Other Decks in Technology
See All in Technology
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
2
340
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
160
AIエージェントは「使う」だけじゃなくて「作る」時代! 〜最新フレームワークで楽しく開発入門しよう〜
minorun365
PRO
7
1.1k
窓口業務を生成AIにおまかせ!Bedrock Agent Coreで実現する自治体AIエージェント!
rayofhopejp
0
180
Databricks Free Editionで始めるMLflow
taka_aki
0
800
30分でわかる!!『OCI で学ぶクラウドネイティブ実践 X 理論ガイド』
oracle4engineer
PRO
1
120
re:Inventに行くまでにやっておきたいこと
nagisa53
0
1.1k
設計は最強のプロンプト - AI時代に武器にすべきスキルとは?-
kenichirokimura
1
140
今日から使える AWS Step Functions 小技集 / AWS Step Functions Tips
kinunori
2
210
datadog-incident-management-intro
tetsuya28
0
120
LLM APIを2年間本番運用して苦労した話
ivry_presentationmaterials
10
8.5k
初海外がre:Inventだった人間の感じたこと
tommy0124
1
200
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
RailsConf 2023
tenderlove
30
1.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Building Applications with DynamoDB
mza
96
6.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Done Done
chrislema
186
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Docker and Python
trallard
46
3.6k
Being A Developer After 40
akosma
91
590k
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
!