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

RxSwift on iOS

RxSwift on iOS

Slides from talk at dotSwift 2017. More discussion about the sample code at http://rx-marin.com

Marin Todorov

January 27, 2017
Tweet

More Decks by Marin Todorov

Other Decks in Programming

Transcript

  1. RxSwift on iOS dotSwift, Paris Marin Todorov [email protected]

  2. [email protected] !

  3. [email protected] "

  4. [email protected] NSNotificationCenter closures delegates Grand Central Dispatch Selector(:) Dependency Injection

  5. Array<String> [email protected] 0 first 1 second 2 third

  6. [email protected] 0 first 1 second 2 third 3 fourth ⛅

  7. [email protected] 0 first 1 second 2 third 3 fourth

  8. [email protected] 0 first 1 second 2 third Image Credit: NASA

    Goddard Space Flight Center
  9. [email protected] Observable<Array<String>> 0 first 1 second 2 third 0 first

    1 second 2 third 3 fourth 0 first 1 second 2 third 3 fourth 4 fifth
  10. [email protected] 0 first 1 second 2 third 0 first 1

    second 2 third 3 fourth 0 first 1 second 2 third 3 fourth 4 fifth
  11. [email protected] Observable<Array<String>> 0 first 1 second 2 third 0 first

    1 second 2 third 3 fourth 0 first 1 second 2 third 3 fourth 4 fifth
  12. [email protected] Observable<Int> 130 301 17

  13. [email protected] Observable<ClickData> ClickData { pt: CGPoint(10, 200) nrOfClicks: 1 }

    ClickData { pt: CGPoint(20, 160) nrOfClicks: 1 } ClickData { pt: CGPoint(100, 13) nrOfClicks: 2 }
  14. [email protected] marin Observable<String> filter length > 2 Observable<String> debounce interval

    > 0.5s Observable<String> flatMapLatest Any Observable<NSData> map Array<Repo> Observable<Array<Repo>> map URLRequest() Observable<URLRequest> subscribe or bindTo orEmpty
  15. [email protected]

  16. [email protected]

  17. [email protected]

  18. RxSwift 1. Sync-like async code 2. With a functional aspect

    3. Cross platform, tried and tested framework [email protected]
  19. We’re hiring [email protected] • Distributed Systems Eng. • JavaScript Engineer

    • Product Manager • Sales Engineer • Account Executive • and much more! realm.io/jobs
  20. [email protected] Sample Code & Credits http://rx-marin.com Thanks: 
 ɾAsh Furrow

    ɾFlorent Pillet ɾJunior Bontognali ɾKrunoslav Zaher
  21. [email protected] Questions? Marin Todorov [email protected] www.realm.io @icanzilb