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

Architecture and ReactorKit

Architecture and ReactorKit

Presentation at ReactorKit Meetup Japan on June 28, 2018.
https://wantedly.connpass.com/event/90261/
https://github.com/ReactorKit/ReactorKit

Yoichi Tagaya

June 28, 2018
Tweet

More Decks by Yoichi Tagaya

Other Decks in Technology

Transcript

  1. About Yoichi Tagaya • Original author of Swinject • Dependency

    Injection framework for iOS/Swift • iOS Engineer / Engineering manager at Mercari !ZPJDIJUHZ
  2. Many Definitions of Software Architecture Definition by IEEE 1471 Architecture

    is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution. https://www.ibm.com/developerworks/rational/library/feb06/eeles/
  3. Peter Eeles, the Article Author, Says • Defines structure •

    Defines behavior • Focuses on significant elements • Influences team structure • Embodies decisions based on rationale • Balances stakeholder needs • Is influenced by its environment • May conform to an architectural style https://www.ibm.com/developerworks/rational/library/feb06/eeles/ An architecture
  4. An Architecture Balances Stakeholder Needs Customers Share Holders Government Engineers

    PMs Designers Stakeholders of architects CS Security Team QA CTO VPoE Society Partners
  5. An Architecture is Influenced by its Environment More
 DAU Stock

    price Compliance More engineers More new features New design Environment of a company Swift/ Reactive x years old codebase 100k+ lines of code Test automation Industrial organization More
 partners
  6. An Architecture May Conform to an Architectural Style https://github.com/ReactorKit/ReactorKit •

    MVC (Model/View/Controller) • MVVM (Model/View/ViewModel) • VIPER (View/Interactor/Presenter/Entity/Router) • iOS Clean Architecture • Flux (Unidirectional data flow for state handling) iOS Architectures
  7. Ruby on Rails https://rubyonrails.org/ • MVC framework for web applications

    • Simple pattern to follow • Rapid application development
  8. ReactorKit: Flux on rails with RxSwift Present Stakeholders Environment Future

    Stakeholders Environment = https://github.com/ReactorKit/ReactorKit Great pattern to follow to create the future of your app rapidly!