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.6k
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
開発生産性をむしろ向上させる セキュリティパートナーの作り方 / Dev Productivity Con 2024
flatt_security
0
360
サービス開発を前に進めるために 新米リードエンジニアが 取り組んだこと / Steps Taken by a Novice Lead Engineer to Advance Service Development
nologyance
0
180
dxd2024-生成AIに振り回された3か月間の成功と失敗/dxd2024-link-and-motivation
lmi
2
260
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
320
AWSでRAGを作る法方
sonoda_mj
1
140
成長期に歩みを止めないための創業期の開発文化形成
mayah
6
420
Datadog Cloud SIEMを使ってAWS環境の脅威を可視化した話/lifeistech-datadog-cloud-siem
gidajun
0
480
コンテナ・K8s研修 - 前半 コンテナ基礎・ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
ペパボのオブザーバビリティ研修2024 説明資料
kesompochy
0
1.1k
フルリモートワークはエンジニアの夢を叶えたか? #cm_odyssey
mamohacy
2
600
ABEMAにおけるLLMを用いたコンテンツベース推薦システム導入と効果検証
cyberagentdevelopers
PRO
1
720
AOAI Dev Day - Opening Session
yoshidashingo
2
440
Featured
See All Featured
Building Applications with DynamoDB
mza
89
5.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Testing 201, or: Great Expectations
jmmastey
33
6.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
189
16k
BBQ
matthewcrist
82
9k
Building Flexible Design Systems
yeseniaperezcruz
323
37k
Making the Leap to Tech Lead
cromwellryan
127
8.7k
How to name files
jennybc
67
96k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
GraphQLの誤解/rethinking-graphql
sonatard
59
9.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
!