$30 off During Our Annual Pro Sale. View Details »



About mobile architecture using RIBs from uber


March 08, 2018

More Decks by Naoki ISHIKAWA

Other Decks in Technology


  1. RIBsΛ༻͍ͨϞόΠϧ ΞʔΩςΫνϟઃܭ Naoki ISHIKAWA (@jarinosuke)
 try!Swift Tokyo After talks

  2. Self Introduction • ੴ઒௚थ Naoki ISHIKAWA • @jarinosuke • iOS

    Engineer at merpay, Inc
  3. uber/RIBs

  4. None
  5. Agenda • 1.What is RIBs? • 2.Motivation • 3.Inside of

    RIBs • Overview • Units • 4.Conclusion
  6. 1.What is RIBs? • Shared architecture between iOS/Android • Testability

    and Isolation • Scalable between hundreds of engineers in Uber
  7. 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
  8. 3.Inside of RIBs

  9. None
  10. RIBs units

  11. Router Attaching/Detaching child RIBs

  12. Interactor Handle all business logic that will be displayed on

  13. Builder Define all dependences and instantiate classes in RIB

  14. Presenter Manage communications between Interactor and View

  15. View(Controller) ViewController with no logic Just display data from Presenter

  16. Communication between RIBs

  17. 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
  18. !