Reactive Programming in Ruby

with Rx.rb





by @holsee

WHAT IS REACTIVE PROGRAMMING?

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

"This means that it should be possible to express static or dynamic data flows with ease in the programming languages used"

"For example, in an imperative programming setting, a = b + c would mean that a is being assigned the result of b + c in the instant the expression is evaluated. Later, the values of b and c can be changed with no effect on the value of a."

OK, WTF IS REACTIVE PROGRAMMING?


Push versus Pull

DUALITY

Method versus Promise
Enumerable versus Observable

WHY?


Reactive Programming is a hot topic as of late, especially with such things as the Reactive Manifesto

Applications needs have changed over time with simple polling for data, to a full reactive system where data is pushed at you. 

Managing the  complexity


Each time, we're adding more complexity, more data, and asynchronous behavior to our applications. 

How do we manage it all? 
How do we scale it? 

By moving towards "Reactive Architectures" which are event-driven, resilient and responsive. 

RX provides to tools to help us build these kind of systems.

HOW?

Reactive Programming in Ruby

By Steven Holdsworth

Reactive Programming in Ruby

  • 267