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.6k
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
2k
メルペイのエンジニアリング組織の変化と目指すチーム像
jarinosuke
5
5.5k
US 版 Mercari をまるごと1から作り直した話
jarinosuke
2
4.1k
メルカリiOSアプリ開発の現状とこれから / Mercari Day 2017
jarinosuke
3
6.5k
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
VSCodeの拡張機能を作っている話
ebarakazuhiro
1
360
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
240
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
200
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
2
460
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
280
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2.1k
日本におけるデータエンジニアリングのこれまでとこれから
foursue
16
4.2k
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
2
850
Cracking the KubeCon CfP
inductor
2
240
ServiceNow Knowledge Learning Rise up
manarobot
0
210
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
550
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
Why Our Code Smells
bkeepers
PRO
331
56k
Designing for Performance
lara
601
67k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
40
4.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Designing for humans not robots
tammielis
248
25k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Writing Fast Ruby
sferik
621
60k
Build The Right Thing And Hit Your Dates
maggiecrowley
24
2k
The Mythical Team-Month
searls
216
42k
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
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
!