You've probably heard of Reactive Programming. It’s a fashionable, new paradigm for modelling asynchronous events in a composable, declarative way. Our mobile developers decided to be trendy, and adopted the world of Observables (aka Signals, Streams) in production. It definitely helped them wade through complex async flows. As code became declarative, it became easier to reason about expected behaviour. Bugs began to flee. Our developers began finding spare time to gym and watch Game of Thrones. Life was good. Or was it?
As with any technology in production, they discovered a host of interesting issues that the tutorials and toy projects never mentioned...
This talk covers the fundamentals of Reactive Programming on iOS and Android. It also includes a much needed debate on issues with the paradigm in production.
ReactiveCocoa vs RxSwift
● If you’re on objective C, you don’t have a choice -> ReactiveCocoa 2.0
● RxSwift follows standard Rx conventions borrowed from RxJS, RxJava.
● ReactiveCocoa (Swift) has an awesome API with sexy operators which breaks
over Swift versions
● ReactiveCocoa (Swift) distinguishes between hot and cold signals