Skip to main content

ReactJS - Reactive Programming


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

Comments

Popular posts from this blog

ReactJS - What is it?

So . . . How About React? What happens when an impressive Facebook engineer gets assigned to port XHP - a PHP version primarily relied upon for data validation and scrubbing to combat XSS - to JavaScript and maybe gets a bit carried away with it [5] ? React! ReactJS (also known as React.js or simply React) is a library of Javascript, a programming language pivotal in the rendering of webpage elements alongside HTML and CSS . While some libraries generally try to incorporate and adapt ‘the wheel’ to make some specialized processes easier, React joins the ranks of the increasingly many that set out to completely reinvent it in many parts. Image courtesy of xpagexplorer.org [15] Basically, what is it? Basically speaking, Javascript is a programming language that can be used to alter the content of the website’s layout. ReactJS, like any library, utilizes its base language to ease and optimize complex sets of operations. Its features rework many elements consid...

ReactJS - Immutability

Value vs. Reference Equality The mutation of data in computer science is something everybody who has studied a common programming language has done at some point. You create a variable and they you change it ! Magic! All of a sudden, you have a variable that is completely different, with a different value and everything! Well, actually, there's something that probably didn't change; the location of the data in memory. The variable is still pointing to the same place it always did; a little section it found specifically for the variable. The contents of the section had changed, but the reference - a sort of ID, if you would - is still the same. This is called mutating the value, and can therefore be seen as mutability. ReactJS's Spin ReactJS has an interesting method of making rendering more efficient, and it involves the way you alter data. Instead of changing the values of a set object every time you need it to change (mutating it), you can actually adopt a st...