Reactive Programming and the RX (r)evolution

Meet-up at DevDay

Lately i've conducted a meet-up at DevDay, an Italian Developer Community, 
to present the Reactive Programming Paradigm and Reactive Extension.

I believe in this approach and would like to share my experience, so I've presented a "slide deck" (embed at the end) and below is reported its summary.

1. The Reactive Manifesto

I've briefly introduced the Reactive Manifesto, underlining which are, in my opinion,  the most important concepts coming out from it:

  • Asynchronous
  • non blocking
  • Message Driven 
  • back-pressure
  • Resilient

2. Why use Reactive

Why the Reactive Systems are becoming so important in the modern age of the Microservices & Cloud ?

In this part I have introduced the importance of  :

  • Let's do it asynchronous 
    • Async != Multi threads
    • Async == Never Block
  • Immutable State

3. When to be Reactive 

When Reactive Programming could help you ? For developing which Applications ?

In particular, during this part, I've shared my personal path toward Reactive Functional Programming that is:

  1. FluentlyStart developing fluently using Builder pattern
  2. Fluently + FunctionalAdding Functional using as much as possible lambda
  3. Fluently + Functional + AsynchronousComplete using MessageLoop and Scheduler (mostly behind the scene)

4. Key Concepts (I have a Stream)

Obviously in this part we had deal with:

  • Stream
  • Observer/Observable
  • From Sequence to Marble Diagram
  • The Operators' Land
  • HOT vs COLD Observable

5. How Develop Reactive

What is available to develop using Reactive Programming ? 

The answer is: The Reactive Extension  

... and finally ... LET'S CODE  with a sample using rxjs available on Github

Enjoy the Slides 


Popular posts from this blog

POLYMER + TYPESCRIPT the marvelous couple

PlantUML & Maven - Enrich your project's documentation

PlantText: The new "Online" UML Editor powered by PlantUML