¿Cuál es el beneficio de React.js y otros frameworks de JavaScript?

No está claro exactamente lo que estás preguntando. ¿Estás cuestionando el valor de:

  1. ¿Desarrollo del lado del cliente (lado del navegador) versus implementar toda la lógica en el lado del servidor?
  2. ¿Usando un marco versus JavaScript + DOM directo?
  3. ¿Reaccionar + Redux frente a otros marcos de JavaScript?

Si es el primero, la respuesta es principalmente sobre la latencia y la experiencia del usuario. Si todo lo que está computando tiene lugar en el lado del servidor, entonces hay un viaje de ida y vuelta asociado con cada operación. Si su servidor está en los EE. UU. Pero el usuario está en Australia, puede ver cómo esto se convierte en una propuesta insostenible. Incluso si ambos se encuentran en los estados, la experiencia del usuario se degradaría mucho en comparación con el procesamiento del lado del cliente.

Otro problema con hacer todo en el servidor, sin ningún código del lado del cliente, es que cada operación se convierte en una transición de página. Esto significa que el navegador queda en blanco y no responde después de cada entrada del usuario, hasta que se recibe la siguiente página.

Si es la segunda pregunta, la respuesta es que usar un buen marco puede ahorrar mucho tiempo en comparación con JavaScript simple para cualquier cosa más allá de un proyecto trivial. El objetivo de los marcos es que encapsulan patrones recurrentes para que puedan reutilizarse. Claro, hay una sobrecarga asociada con el aprendizaje de un nuevo marco, pero una vez hecho eso, ese conocimiento se puede usar repetidamente.

Finalmente, React + Reduce vs otro marco del lado del cliente es en gran medida una cuestión de preferencia personal. Puedo decir que disfruto usando este combo, y me hace más productivo. Me parece que los mecanismos de gestión de estado y flujo de datos proporcionados por React + Redux funcionan muy bien para mí y mejoran la calidad de las aplicaciones que desarrollo,

La belleza es la combinación de lógica de programación y marcado en una sola unidad: el componente.

Puede agrupar componentes para crear interfaces de usuario complejas, y el “DOM virtual” y el sistema de eventos de React permiten un procesamiento muy rápido y eficiente. Además, estas IU pueden representarse en el lado del servidor si lo desea, utilizando el mismo código. Estos componentes también se pueden probar en el servidor, sin necesidad de iniciar un navegador.

Cuando se compara esto con cualquier otro marco front-end, las ventajas son evidentemente obvias. Los marcos más populares usan plantillas, que mezclan torpemente la lógica (porque nunca puedes escapar sin ella), tienden a refluir el DOM de manera mucho más ineficiente, tienden a ser muy lentos una vez que las UI son grandes, etc.

Como desarrollador web full stack, que ha estado construyendo front-end de JS desde los días alfa de backbones, puedo decir con confianza que React.js ha sido el mejor framework de JS para salir en mi carrera. La verdadera innovación fue JSX y el DOM virtual, que permitió el concepto de componentes que están todos unidos como pequeños legos javascript.

He creado algunas aplicaciones muy, muy grandes en React, y siempre fueron muy rápidas y receptivas, muy raramente con errores y muy fáciles de razonar. Gracias equipo de Facebook!

Usarlo para reemplazar un archivo HTML estático es la razón incorrecta para usarlo.

Usarlo para hacer una aplicación de una sola página es la razón por la cual la gente lo usa.

Si mira YouTube o GMail o cualquier servicio de música que se ejecute desde un navegador, notará que no tienen el servidor que vuelve a dibujar la página cada vez que hace clic en un botón o un enlace.

Y comparado con

haciendo algo como

Es mucho más rápido y fácil.

Totalmente no lo que pediste. Pero este artículo habla sobre qué es Vuex (Redux para Vue) y por qué es importante. Y utiliza los problemas de Facebook y cómo los llevó a crear la arquitectura React and Flux.

Vuex For The Clueless – La cartilla faltante en el almacén de datos de aplicaciones de Vue – JS Dojo