Hay muy poco en el desarrollo web que esté mal y si la gente te dice lo contrario, ten cuidado con su dogma. El desarrollo web, como muchos campos en la ingeniería de software, consiste en conocer varias soluciones diferentes y elegir una cuyas ventajas se alineen con sus objetivos y cuyos inconvenientes sean agradables.
El JavaScript isomorfo es sorprendente … en teoría. Sin embargo, el problema radica en el hecho de que el navegador no es el servidor y viceversa. Si bien se pueden emular ciertos aspectos entre los dos, no deberíamos quedar atrapados en la emulación por el isomorfismo. Deberíamos emular porque es lo mejor para nuestros usuarios (y, si es posible, nuestro desarrollo).
A saber, el JavaScript isomorfo solo ha mostrado una gema real (general) y esa es la representación del lado del servidor:
- Para crear un sitio web de mercado de múltiples proveedores; ¿Debo usar un sistema de gestión de contenido como WordPress?
- ¿Cómo es el mercado para un desarrollador web junior en EAU que puede trabajar principalmente con React.js y Node.js?
- ¿El desarrollo web seguirá siendo relevante en 2047?
- Cómo codificar el menú desplegable
- Cómo conseguir un creador de sitios web que haga el trabajo no solo por dinero, sino que tenga verdadero interés en la filosofía del sitio web en sí
- brinda la información necesaria para iniciar su aplicación
- todo hecho en el servidor
- evita viajes de ida y vuelta innecesarios del cliente al servidor
Pero si prestas atención, estamos haciendo algunas suposiciones serias aquí:
- Suponemos que tenemos toda la información necesaria sobre nuestro usuario de su solicitud de red inicial, que no podemos tener si no estamos usando cookies.
- Suponemos que nuestro servidor está mejor equipado para producir el primer render que su navegador
- suponemos que nuestro servidor es la opción más óptima para invocar esos viajes de ida y vuelta de red que su navegador
En el caso de una aplicación como un blog, muchas de estas suposiciones son ciertas: realmente no nos importa quién es el usuario desde el punto de vista de la aplicación, es bastante trivial producir el marcado necesario para el contenido, y es probable que la fuente de datos sea colocado con el servidor.
Pero, ¿qué pasa si no almacenamos los datos del usuario en las cookies? ¿Qué sucede si estamos usando hardware básico y / o es probable que nuestro grupo demográfico de usuarios esté usando hardware de rendimiento en redes excelentes? ¿Qué sucede si estamos aprovechando las API de terceros para una variedad de servicios diferentes y ellos harán su propio almacenamiento en caché? Hay muchos casos en los que la representación del lado del servidor puede ser una solución sobredimensionada para un problema que no existe, y debemos reconocerlo y evitarlo.
Reaccionar es genial, pero de ninguna manera hereda esa grandeza del isomorfismo, eso es solo una característica adicional. Úselo como mejor le parezca.