About mobile architecture using RIBs from uber
RIBsΛ༻͍ͨϞόΠϧΞʔΩςΫνϟઃܭNaoki ISHIKAWA (@jarinosuke) try!Swift Tokyo After talks
View Slide
Self Introduction• ੴथ Naoki ISHIKAWA• @jarinosuke• iOS Engineer at merpay, Inc
uber/RIBs
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
RIBs units
RouterAttaching/Detaching child RIBs
InteractorHandle all business logicthat will be displayed on view
BuilderDefine all dependencesand instantiate classes in RIB
PresenterManage communicationsbetween Interactor and View
View(Controller)ViewController with no logicJust display data from Presenter
Communication betweenRIBs
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 mobilearchitecture
!