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 ManifestoI've briefly introduced the Reactive Manifesto, underlining which are, in my opinion, the most important concepts coming out from it:
- non blocking
- Message Driven
2. Why use ReactiveWhy 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 ReactiveWhen 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:
- FluentlyStart developing fluently using Builder pattern
- Fluently + FunctionalAdding Functional using as much as possible lambda
- 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:
- From Sequence to Marble Diagram
- The Operators' Land
- HOT vs COLD Observable
5. How Develop ReactiveWhat 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