Agenda
• 1.What is RIBs?
• 2.Motivation
• 3.Inside of RIBs
• Overview
• Units
• 4.Conclusion
Slide 6
Slide 6 text
1.What is RIBs?
• Shared architecture between iOS/Android
• Testability and Isolation
• Scalable between hundreds of engineers in Uber
Slide 7
Slide 7 text
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
Slide 8
Slide 8 text
3.Inside of RIBs
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
RIBs units
Slide 11
Slide 11 text
Router
Attaching/Detaching child RIBs
Slide 12
Slide 12 text
Interactor
Handle all business logic
that will be displayed on view
Slide 13
Slide 13 text
Builder
Define all dependences
and instantiate classes in RIB
Slide 14
Slide 14 text
Presenter
Manage communications
between Interactor and View
Slide 15
Slide 15 text
View(Controller)
ViewController with no logic
Just display data from Presenter
Slide 16
Slide 16 text
Communication between
RIBs
Slide 17
Slide 17 text
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