Slide 1

Slide 1 text

RxSwift Introduction to reactive programming Kristaps Grinbergs @fassko

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Imperative programming ● Saved state ● Order of execution ● Side effects

Slide 4

Slide 4 text

In computing, reactive programming is a programming paradigm oriented around data flows and the propagation of change. Wikipedia

Slide 5

Slide 5 text

Reactive programming is programming with asynchronous data streams

Slide 6

Slide 6 text

Reactive programming ● Asynchronous ● No saved state ● Functional ● Responsive

Slide 7

Slide 7 text

ReactiveX An API for asynchronous programming with observable streams. ● Microsoft (Rx.NET) - 2009 ● Many languages ● RxSwift - 2015

Slide 8

Slide 8 text

Rx components ● Observable ● Observers ● Schedulers

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Observables Next Completed Error

Slide 13

Slide 13 text

Operators Filtering Transforming Combining

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

RxMarbles

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

UI bindings RxCocoa

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

Rx extensions Almost for everything

Slide 21

Slide 21 text

+ Agile and reusable code Thread safety Eliminate state from code Testing Well tested, with large community and extensions

Slide 22

Slide 22 text

- Steep learning curve Change previous practices Debugging Over-reactive

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content