Skip to main content

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 considered fundamental in the modern browser’s data rendering scheme [2,3] implementing a reactive programming approach [1, 9, 15] and more efficient methods of DOM manipulation[1, 2, 4, 6, etc]. All of this is done to both simplify the building process and make more efficient and scalable products, aiding the whole way with complex algorithms and design principles present under the hood.

So, how does it do it?

We’ve said that it does stuff efficiently, but explaining it is a lot harder. What does it mean to use Virtual DOMs and how does it benefit over using the standard DOM (on that note, what’s a DOM , anyways [7])? How does React utilize a “diffing” heuristic tree-updating algorithm with O(n) complexity [6, 11]?Using immutable objects to speed up processes [4, 5]? A reactive language [1, 2, 9]? Clearly, there are both a lot of fundamentals and innovations to learn. While everything is not 100% better than some of the other new alternatives - specialization does this - but the stark benefits have allowed the library to make a strong presence, being relied upon by sites like Netflix, Walmart, and Airbnb [11].

Image courtesy of cleveroad.com [11]

In order to understand this, one has to dive into computer science constructs and conventions that are utilized throughout modern computing. Methods of efficient and optimized design are stretched across the computer science discipline, securing implementation in many modern and future computing machines. In general, what has been implemented in React can be applied to a variety of systems in some capacity regardless of proximity to websites. Concepts such as data trees, comparison algorithms, APIs , and special data types which are used throughout React connect the library to fundamental units of computer science and in the process raise considerations many other such computational instances throughout the world may very well have or need.

To keep the question simple, though, what can React do better and why? That is the million-dollar question.

Bibliography

Of note, this includes both content that I have used and that which I intend to use for future posts

Comments

Post a Comment

Popular posts from this blog

ReactJS - Virtual DOM

So . . . How About React? If we’re going to start talking about how it functions, I think we should start by talking about what it works with. Many are already used to the HTML commonly associated with static website design. In it’s more basic, it can look something like this, though <h1>Hello World</h1> by itself in the file would yield the same output; this is trying to imitate a larger-scale structure. With this basic structure, combined with CSS-aided styling, we can have all the static content we want (and a bit can even be hidden/reformatted on hover or focus, to boot). From this point, we need JavaScript . . . sort of. How is JS usually So, back to JavaScript. As mentioned before, the language is one of the three core technologies of the world wide web. Used commonly on the client side, you can manipulate the content of the HTML code, the DOM, to do just about anything. For some great interactive examples, check out the W3School’s JavaScript HTML DOM Ev...

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 als...