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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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.5k
US 版 Mercari をまるごと1から作り直した話
jarinosuke
2
4.4k
メルカリiOSアプリ開発の現状とこれから / Mercari Day 2017
jarinosuke
3
6.8k
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
日本語テキストと音楽の対照学習の技術とその応用
lycorptech_jp
PRO
1
400
分析画面のクリック操作をそのままコード化 ! エンジニアとビジネスユーザーが共存するAI-ReadyなBI基盤
ikumi
0
120
toCプロダクトにおけるAI機能開発のしくじりと学び / ai-product-failures-and-learnings
rince
6
5k
システムのアラート調査をサポートするAI Agentの紹介/Introduction to an AI Agent for System Alert Investigation
taddy_919
2
1.3k
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
2
650
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
3
1.1k
Databricks Free Edition講座 データサイエンス編
taka_aki
0
270
Werner Vogelsが14年間 問い続けてきたこと
yusukeshimizu
2
280
EventBridge API Destination × AgentCore Runtimeで実現するLambdaレスなイベント駆動エージェント
har1101
7
290
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
0
220
Claude Codeベストプラクティスまとめ
minorun365
57
32k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Spectacular Lies of Maps
axbom
PRO
1
500
Building an army of robots
kneath
306
46k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
190
Documentation Writing (for coders)
carmenintech
77
5.2k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
910
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
210
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
170
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
250
Marketing to machines
jonoalderson
1
4.6k
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
!