Update reactive-programming.md

This commit is contained in:
Roland Edwards, AOE GmbH
2018-05-16 15:26:20 +02:00
committed by GitHub
parent 706aa0a88c
commit 830ec509c9

View File

@@ -5,30 +5,30 @@ quadrant: methods-and-patterns
--- ---
Classic (web-) applications are typically composed of transactions that submit Classic (web-) applications typically consist of transactions that submit
big forms to the server side that processes these and in response returns HTML large forms to the server side, which then processes these and, in response, returns HTML
for the browser to render. Todays applications are having more and more for the browser to render. Today's applications have more and more
fine-grained 'real-time' like aspects: A simple modification of a form field fine-grained 'real-time'-like aspects: A simple modification of a form field
could trigger a complete roundtrip to the server including other services and could trigger a complete roundtrip to the server including other services and
persistence. And all of these transactions should of course respect the persistence. Naturally, all of these transactions should respect the
expectations of a user who wants a highly interactive appliation. expectations of a user who wants a highly interactive application.
"Reactive Programming" tries to provide an answer to the above posed challanges "Reactive Programming" tries to provide an answer to the challanges mentioned above
by raising the level of abstraction that allows you to focus on the stream of by raising the level of abstraction. This allows you to focus on the stream of
events that make up your business logic in an responsive asynchronous fashion. events that make up your business logic in a responsive, asynchronous fashion.
There are various descriptions of what Reactive Programming actually is - at There are various descriptions of what Reactive Programming actually is - at
the most general level it is programming with asynchronous data streams and the most general level it is programming with asynchronous data streams and
having tools to create, manipulate, combine and filter these streams. Under contains tools to create, manipulate, combine and filter these streams. Under the term
"Reactive Programming" we summarize the principles and implementations that "Reactive Programming", we summarize the principles and implementations that
underly [ReactiveX](http://reactivex.io/) and the [Reactive underlie [ReactiveX](http://reactivex.io/) and the [Reactive
Manifesto](https://www.reactivemanifesto.org/). Manifesto](https://www.reactivemanifesto.org/).
"Reactive Programming" is employed in many of our services - frontend and "Reactive Programming" is employed in many of our services frontend and
backend - but not always as an explicitly choosen pattern. As different backend but not always as an explicitly choosen pattern. As different
plattforms have different means to tackle this style of programming we choose plattforms have different means to tackle this style of programming, we choose
to include "Reactive Programming" as a general Method and Patterns Item in to include "Reactive Programming" as a general Method and Patterns Item in
addition to concrete libraries and APIs like addition to concrete libraries and APIs such as
[Rx.JS](languages-and-frameworks/rxjs.html) or [Akka [Rx.JS](languages-and-frameworks/rxjs.html) or [Akka
Streams](/languages-and-frameworks/akka-streams.html) to highlight the Streams](/languages-and-frameworks/akka-streams.html) to highlight the
importance of the approach in general. importance of the approach in general.