What is React?

React is an open source JavaScript library for developing user interfaces. It was launched in 2013 and developed by Facebook, who also currently maintain it together with a community of independent developers and companies.

Today many top-tier companies use ReactJS to develop their applications, and among them we can find Facebook, Instagram and the WhastApp web client (all owned by Facebook), and others such as AirBnb, Uber, Netflix, Twitter , Reddit or Paypal.

Since its launch, its use has increased notably, becoming, today, one of the most used front-end technologies.

As we have mentioned above, it is a JavaScript library to develop user interfaces. Depending on who you ask, they may tell you that it is the “V” of an MCV (Model-View-Controller) framework, and it is that, being a library, ReactJS needs to be accompanied by other libraries to complete the needs of development of our web application.

This can be an advantage or a disadvantage depending on the person using it. Angular, for example, is a framework that provides us with complete tools to develop a 100% web application, although, however, it does not offer as much freedom as React when choosing which technologies we want to work with. That is, Angular is an “opinionated” framework while React is a library that fills a need.

Arquitectura 

The most important element of ReactJS is the component, which is essentially a piece of the user interface. As a general rule, when designing an application with ReactJS, what we are doing is creating independent and reusable components to, little by little, create more complex user interfaces.

In that sense, ReactJS is similar to Angular, in that every ReactJS app has at least one component; which we normally refer to as the “root” component, which contains other “child” components, and these in turn others, etc. In this way, it can be stated that the view is a tree of components.