What is React?

React es una biblioteca Javascript de código abierto diseñada para crear interfaces de usuario con el objetivo de facilitar el desarrollo de aplicaciones en una sola página. Es mantenido por Facebook y la comunidad de software libre, han participado en el proyecto más de mil desarrolladores diferentes.

Declarativo

ReactJS hace que sea sencillo crear interfaces de usuario interactivas. Diseñe vistas simples para cada estado en su aplicación, y ReactJS actualizará y renderizará de manera eficiente solo los componentes correctos cuando cambien sus datos.

Las vistas declarativas hacen que su código sea más predecible y más fácil de depurar.

Basado en componentes

Cree componentes encapsulados que gestionen su propio estado y luego compóngalos para crear interfaces de usuario complejas.

Dado que la lógica del componente está escrita en JavaScript en lugar de plantillas, puede pasar fácilmente datos enriquecidos a través de su aplicación y mantener el estado fuera del DOM.

Aprenda una vez, escriba en cualquier lugar

No hacemos suposiciones sobre el resto de su pila de tecnología, por lo que puede desarrollar nuevas funciones en ReactJS sin tener que volver a escribir el código existente.

ReactJS también puede renderizar en el servidor usando Node y potenciar aplicaciones móviles usando React Native.

¿Por qué ReactJS?

La popularidad de ReactJS hoy ha eclipsado la de todos los demás frameworks de desarrollo front-end.

He aquí por qué:

  • Fácil creación de aplicaciones dinámicas: ReactJS facilita la creación de aplicaciones web dinámicas porque requiere menos codificación y ofrece más funcionalidad, a diferencia de JavaScript, donde la codificación a menudo se vuelve compleja muy rápidamente.
  • Rendimiento mejorado: ReactJS usa Virtual DOM, por lo que crea aplicaciones web más rápido. Virtual DOM compara los estados anteriores de los componentes y actualiza solo los elementos en Real DOM que se cambiaron, en lugar de actualizar todos los componentes nuevamente, como lo hacen las aplicaciones web convencionales.
  • Componentes reutilizables: los componentes son los componentes básicos de cualquier aplicación ReactJS, y una sola aplicación generalmente consta de varios componentes. Estos componentes tienen su lógica y controles, y se pueden reutilizar en toda la aplicación, lo que a su vez reduce drásticamente el tiempo de desarrollo de la aplicación.
  • Flujo de datos unidireccional: ReactJS sigue un flujo de datos unidireccional. Esto significa que, al diseñar una aplicación ReactJS, los desarrolladores suelen anidar componentes secundarios dentro de componentes principales. Dado que los datos fluyen en una sola dirección, se vuelve más fácil depurar errores y saber dónde ocurre un problema en una aplicación en el momento en cuestión.
  • Pequeña curva de aprendizaje: ReactJS es fácil de aprender, ya que en su mayoría combina conceptos básicos de HTML y JavaScript con algunas adiciones beneficiosas. Aún así, como es el caso con otras herramientas y marcos, debe dedicar algún tiempo para obtener una comprensión adecuada de la biblioteca de ReactJS.
  • Se puede usar para el desarrollo de aplicaciones web y móviles: Ya sabemos que ReactJS se usa para el desarrollo de aplicaciones web, pero eso no es todo lo que puede hacer. Existe un marco llamado ReactJS Native, derivado del mismo ReactJS, que es muy popular y se usa para crear hermosas aplicaciones móviles. Entonces, en realidad, ReactJS se puede usar para crear aplicaciones web y móviles.
  • Herramientas dedicadas para una fácil depuración: Facebook ha lanzado una extensión de Chrome que se puede usar para depurar aplicaciones ReactJS. Esto hace que el proceso de depuración de aplicaciones web ReactJS sea más rápido y fácil.