¿Conoces React y sus beneficios? Si no es así, ¡te lo explicamos!

Actualmente, cuando hablamos de front end existen una gran multitud de frameworks, entre los que se encuentran: React, Angular o Vue.js.

En el artículo de hoy, vamos a explicar las principales características y beneficios de uno de ellos: React. Tal es su magnitud, que ya se han desarrollado frameworks basados en React, como es el caso de React Native o Next.js; utilizados en grandes plataformas web como Facebook, Netflix o Discord.

¿Qué es React?

React es una librería de Javascript de código abierto diseñada para crear interfaces de usuario de forma sencilla. Fue creada por Facebook aunque, actualmente, también es mantenido por la comunidad de software libre. Su principal característica es el uso de un DOM virtual donde se realizan todos los cambios de la interfaz de usuario, que luego se aplican al verdadero DOM, acelerando así enormemente la ejecución de aplicaciones.

Se puede utilizar tanto para crear sitios de web dinámicos de una sola página, como para paneles de control o grandes plataformas web. Actualmente se encuentra en la versión 18.

¿Cómo es su arquitectura?

Toda aplicación en React tiene una estructura de árbol de componentes con al menos un componente principal, que contendrá otros componentes hijos, y así sucesivamente.

La característica más importante de React es que se basa en la programación orientada a componentes, creando componentes reutilizables que manejan su propio estado y pudiendo crear interfaces de usuario más complejas. De esta forma, cada componente está programado a través de una sintaxis llamada JSX, que no es más que un lenguaje tipo XML en donde se pueden intercalar sentencias de JavaScript permitiendo así crear componentes donde se pueda añadir cierta lógica, como variables, propiedades o condiciones.

¿Por qué usar React? ¿Cuáles son sus principales ventajas?

DOM virtual

Como comentamos anteriormente, la principal ventaja de React es poder generar el DOM de forma dinámica. Es decir, aplicar los cambios de estado en un DOM Virtual y posteriormente aplicar sólo estos cambios en el verdadero DOM. Esto repercutirá en que el rendimiento sea muy superior, ya que para visualizar los datos no es necesario renderizar toda la página.

Isomorfismo

React permite crear código que se ejecuta tanto en contextos de servidor como de cliente, reduciendo así la carga de trabajo necesaria para realizar aplicaciones web óptimas para posicionamiento web.

Componentes

Al trabajar con programación orientada a componentes, no sólo permitirá ahorrar en tiempo de desarrollo si no que permitirá crear aplicaciones más escalables y fáciles de mantener.

Flujo de datos unidireccional

Esto significa que los datos solo se pueden modificar en una dirección. En el caso de React se propagan desde los componentes superiores a los inferiores, y cuando estos cambian su estado, envían los eventos al estado superior para actualizarse.

Amplia comunidad

Actualmente React consta de una gran cantidad de paquetes y librerías externas que se mantienen actualizadas diariamente.

Algunos de los más utilizados son:

  • React Router: Librería que gestiona las rutas de navegación de la aplicación web.
  • React Redux: Herramienta para trabajar con la gestión de estados, permitiendo desarrollar aplicaciones de una forma más intuitiva y ordenada. Para poder trabajar en React es necesario instalar el paquete React Redux.
  • React Query: Librería para facilitar el trabajo a la hora de realizar peticiones desde el lado del cliente hacia el servidor.
  • React Table: Librería extremadamente ligera para la creación y manipulación de tablas en React.
  • react-chartjs-2: Popular librería que te permitirá trabajar con gráficos dentro de la aplicación React.

Multiplataforma

React Native es un framework de aplicaciones nativas multiplataforma que se basa en Javascript y React. Llevar tu aplicación React a que sea compatible con React Native no es muy costoso y te brinda la oportunidad de desarrollar una aplicación multiplataforma que se pueda utilizar en cualquier dispositivo.

Aprendizaje

Al estar escrito sobre el marco de uno de los lenguajes más populares del mundo, como es el caso de Javascript, la curva de aprendizaje es bastante rápida.

¿Qué es React Hooks?

Como información adicional, en un proyecto React anterior a la versión 16.8, para crear un estado tenías que definir un estado local o trabajar con un marco de gestión de estados como por ejemplo Redux. Por ello, para resolver este problema, a partir de la versión 16.8, el equipo de React presentó la API Hooks, que permite compartir la lógica de estado entre componentes, evitando así el uso de clases.

Conclusiones y ventajas de React

A la hora de planificar un nuevo proyecto intentamos buscar la tecnología que nos dé el equilibro perfecto entre beneficio y rendimiento, y ahí es donde incluir React entre las opciones a valorar puede ser una gran idea.

La comunidad que hay detrás de React es muy activa y es inimaginable todo lo que se puede llegar a desarrollar a través de esta tecnología. Es por ello, que grandes empresas multinacionales siguen apostando cada día por incluir esta tecnología en sus plataformas.

Autor: A. Olaya

 10/05/22       Desarrollo, Front end, React