“In computing, Reactive Programming is Programming paradigm oriented around data-flow and propagation of change.”
Reactive Programming is concurrent programming (running parallel) and high performance. Reactive Programming a gift from Microsoft(C# extensions).
Reactive Programming is a style of micro-architecture involving intelligent routing and consumption of events
The Four Reactive principles
- Event-Driven (Message-Driven)
“Reactive” is used broadly to define the event-driven system (like UI Update and Network Protocol), and Non-Blocking event-driven architecture.
if we want to build reactive apps, we need two essential building blocks.
- A contract for interop between Non-blocking components(Reactive Stream spec).
- API for composing asynchronous program(Reactive Extension).
Reactive is Domain of Specific programming languages.
- Java: RxJava
- C#: Rx.NET
- C#(Unity): UniRx
- Scala: RxScala
- Clojure: RxClojure
- C++: RxCpp
- Lua: RxLua
- Ruby: Rx.rb
- Python: RxPY
- Go: RxGo
- Groovy: RxGroovy
- JRuby: RxJRuby
- Kotlin: RxKotlin
- Swift: RxSwift
- PHP: RxPHP
- Elixir: reaxive
- Dart: RxDart