Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RIBs

 RIBs

About mobile architecture using RIBs from uber

Naoki ISHIKAWA

March 08, 2018
Tweet

More Decks by Naoki ISHIKAWA

Other Decks in Technology

Transcript

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

    try!Swift Tokyo After talks

    View Slide

  2. Self Introduction
    • ੴ઒௚थ Naoki ISHIKAWA

    • @jarinosuke

    • iOS Engineer at merpay, Inc

    View Slide

  3. uber/RIBs

    View Slide

  4. View Slide

  5. Agenda
    • 1.What is RIBs?

    • 2.Motivation

    • 3.Inside of RIBs

    • Overview

    • Units

    • 4.Conclusion

    View Slide

  6. 1.What is RIBs?
    • Shared architecture between iOS/Android

    • Testability and Isolation

    • Scalable between hundreds of engineers in Uber

    View Slide

  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

    View Slide

  8. 3.Inside of RIBs

    View Slide

  9. View Slide

  10. RIBs units

    View Slide

  11. Router
    Attaching/Detaching child RIBs

    View Slide

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

    View Slide

  13. Builder
    Define all dependences
    and instantiate classes in RIB

    View Slide

  14. Presenter
    Manage communications
    between Interactor and View

    View Slide

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

    View Slide

  16. Communication between
    RIBs

    View Slide

  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

    View Slide

  18. !

    View Slide