Un par de artículos interesantes que circulan:
- Tom MacWrite: Adivinando la web moderna
- Rich Harris: en defensa de la web moderna
Me gusta la afirmación de Tom de que React (que está usando como sustituto de los marcos de JavaScript en general) tiene un uso ideal:
Hay un punto óptimo de React: en interfaces moderadamente interactivas. Formas complejas que requieren comentarios inmediatos, interfaces de usuario que necesitan moverse y reaccionar instantáneamente. Ahí es donde sobresale.
Si hay algo que espero para el mundo del diseño y desarrollo web, es que mejoremos en la selección de las herramientas adecuadas para el trabajo.
Escuché a varias personas enfocarse en esto:
Puedo, por ejemplo, garantizar que este blog es más rápido que cualquier blog de Gatsby (y mucho amor por el equipo de Gatsby) porque no hay nada que un sitio estático de React pueda hacer que lo haga más rápido que un sitio estático que no es de React.
Una reacción fue el infierno, sí. React es un montón de JavaScript y hace muchas cosas, pero no otorga superpoderes que hacen que la web sea más rápida de lo que era sin él. Otra reacción fue: bueno, realmente lo hace. Ese es el objetivo de los SPA: no es necesario volver a cargar la página. En cambio, podemos hacer una solicitud de red recortada para los nuevos datos necesarios para una nueva página y volver a renderizar solo lo que sea necesario.
Rich profundiza en eso aún más:
Cuando toco un enlace en el sitio web sin JS de Tom, el navegador primero espera para confirmar que fue un toque y no un pincel / deslizamiento, luego hace una solicitud y luego tenemos que esperar la respuesta. Con un sitio creado por un framework con enrutamiento del lado del cliente, podemos comenzar a hacer cosas más interesantes. Podemos hacer conjeturas informadas basadas en análisis sobre las cosas con las que es probable que interactúe el usuario y precargar la lógica y los datos para ellos. Podemos iniciar las solicitudes tan pronto como el usuario toque por primera vez (o pase el mouse) el enlace en lugar de esperar la confirmación de un toque; en el peor de los casos, hemos cargado algunas cosas que serán útiles más adelante si lo tocan. Podemos proporcionar una mejor retroalimentación visual de que se está cargando y está a punto de ocurrir una transición. Y no necesitamos cargar todo el contenido de la página; a menudo, podemos conformarnos con un poco de JSON porque ya tenemos el JavaScript para la página. Esto se vuelve diabólicamente difícil de hacer a mano.
Eso es lo que hace que este tema sea tan fácil de discutir. Todo el mundo tiene buenos puntos. Cuando intentamos hablar en nombre de toda la web, es difícil para todos estar de acuerdo. Pero la web es demasiado grande para afirmaciones amplias y radicales.
¿Las personas recurren demasiado a los SPA con tecnología React? Probablemente, pero no sin razón. Allí hay innovación que atrae a la gente. La pregunta es, ¿cómo podemos mejorarla?
Desde una perspectiva de front-of-the-front-end, el hecho de que los frameworks de front-end como React fomenten la demanda de que escribamos un front-end en componentes es convincente en sí mismo.
Hay optimismo y pesimismo en ambos puestos. Las oraciones finales de ambos son completamente diferentes.