What Is Reactive Programming?
Reactive programming is a commonly-implemented practice in React implementations, but what does that actually mean? Well, Wikipedia's got our backs with the most basic of definitions: "In computing, reactive programming is an asynchronous programming paradigm concerned with data streams and the propagation of change." Who did what now? Yeah, it seems complicated, but not only is it necessary but, with the veil of jargon explained, it's actually pretty basic.![]() |
| Courtesy of innoq.com [10] |
Reactive Programming Fundamentals
Complexities aside, you can think of reactive programming as programming with changing information. In basic Java programming, for example,int c = a + b; assigns c that sum of the two variables at the time of assignment, not a binding obligation to continuously reflect the sum of a and b as they change. With reactive programming, when a variable's value changes, values associated with said value also change. This is why they call it reactive; it reacts to changes in variable states. Now, you may try to figure out why reactive programming isn't just regular programming when you print out a variable, change it, and print it out again. Technically, while this has a similar implementation, reactive programming uses a series of event handlers and reacts to new interactions in the program and reacts in a more organized manner. Now, if I might ask, how reactive is ReactJS? Somewhat reactive, admittedly. React is named partially for its reacting capabilities, but some joke about how it should have been called a scheduler system (not true reactive) [1]. However, one of the impressive things with React is that reactive programming concepts can still be well-imitated in the design without excessive comprimise, and many hail this inclusion as something worth celebrating in and of itself. The impact on design of the common developer using React is almost exactly the same despite a difference in underlying principle, with reactive programming as the basis for which React strives to (and in some capacity succeeds to) replicate [1].
So, why does this matter
Who cares? Well, this inclusion allows access for design implementations with underlying structures more organizable and/or in some case more efficient when compared to the alternatives. You can think of it kind of like recursion (loosely) in that its inclusion in the computing field allows for increased efficiency in design and even encourages ease of quality design in some scenarios [6, 8]. Discussed at length has been the importance to make computers more efficient, but development is another thing that is important to factor into progress. If reactive programs allow for more legible programs and encourage quality and simplicity in design, their inclusion and coming addition into the roster of development techniques can be considered beneficial for the future of development.Bibliography
Of note, this includes both content that I have used and that which I intend to use for future posts
- [1] FreeCodeCamp.org: All the fundamental React.js concepts, jammed into this single Medium article
- [2] InfoWorld.com: React: Making faster, smoother UIs for data-driven Web apps
- [3] JLongster.com: Removing User Interface Complexity, or Why React is Awesome
- [4] Hackernoon.com: Virtual DOM in ReactJS
- [5] Reactive Programming - Wikipedia
- [6] A Survey on Reactive Programming: ENGINEER BAINOMUGISHA, ANDONI LOMBIDE CARRETON, TOM VAN CUTSEM, STIJN MOSTINCKX, and WOLFGANG DE MEUTER, Vrije Universiteit Brussel
- [7] React 2014 : Erik Meijer - What does it mean to be Reactive?
- [8] Reactive Programming Overview (Jafar Husain from Netflix)
- [9] The introduction to Reactive Programming you've been missing
- [10]: What’s in a Name: Reactive
- Loyola Marymount University: Programming Paradigms

Comments
Post a Comment