In the year 2010, Facebook launched React as an open-sourced library for its own version of PHP, which was called XHP. The intent behind launching XHP was to make front-end development easier, primarily by reducing the chances of malicious code such as XSS impacting web applications.
XSS, which is a very common attack vector is known for not going after the application itself, but for attacking the users of the application by stealing their information and compromising the integrity of their online presence.
This is where XHP steps in. Owing to its understanding of HTML, and specific contexts, XHP tends to act as an Automated XSS Protector.
XHP, although appealing, did come with its own host of issues in the beginning. The most glaring of those issues being its failure to help build dynamic web applications With every change, the application would re-render itself, causing all the previous information in the Document Object Model (DOM) to be lost.
React was conceived as an antidote to this problem with the intent of making the development process more efficient and presenting developers with a better User Interface to work on.
In 2015, Facebook decided to let developers have access to React for free. Individuals had the option to sell, import, export, distribute the programme; a move that was widely appreciated in the global developer community.
There are certain standout features of this programme that make it so appealing to use and have led to a steady increase in its adoption between 2014 to 2017. Let’s glance at a few such features to understand its appeal:
1. Virtual Document Object Model (V-DOM)
Whenever a user makes some change to what they’ve created, React uses something called a ‘Diffing Algorithm’, which helps the programme identify specific changes. After identifying said change, the programme performs a step called ‘Reconciliation’ that updates the DOM, with the changes made using the Diffing Algorithm.
This may probably be the biggest selling point of this programme since it gives developers a lot more room to breathe and experiment.
2. Server-Side Rendering
React made it easier for users to make a request for components needed to develop an app, by making the rendering process on the server’s side a lot more comfortable. After it receives a request for components, the server renders the same in the form of HTML strings and sends a response to the client.
3. React Native
React Native was a big step in helping developers create native apps on the Android and iOS platforms. It eliminated the previously requisite knowledge of Java and Objective-C to build native apps.
The response to React has been largely positive, mainly due to its positive adaptation by the developer community and their willingness to contribute to its expansion and continually exploring what more they can do with it.