Renderizado extremo en el servidor: una web dinámica sin JavaScript en el cliente

Fuentes: Extreme Server Side Rendering

El artículo describe el "Extreme Server Side Rendering" (XSSR), una técnica que permite construir aplicaciones web totalmente dinámicas sin necesidad de JavaScript en el front-end. Parte de la comparación con el SSR tradicional: el modelo "antiguo", que genera HTML al vuelo sin lógica cliente, y el "nuevo", que añade algo de JS para insertar fragmentos HTML tras peticiones al backend. La propuesta de XSSR va un paso más allá: mantener la conexión HTTP abierta de forma indefinida y enviar nuevo HTML y CSS de manera continua desde el servidor. Demuestra que, enviando contenido a velocidad humana, los navegadores Firefox y Chromium renderizan la página sobre la marcha e incluso aplican CSS en tiempo real, lo que permite mover elementos, ocultarlos y añadir otros sin JS. Para la entrada del usuario, el autor recurre a un truco con un iframe oculto y un formulario dirigido a él, de forma que los envíos recargan solo ese iframe y la experiencia resulta transparente, asociando cada sesión con un UUID generado por el servidor. Como prueba de concepto, el autor publica un clon de Flappy Bird en el que la física se ejecuta enteramente en el backend y el servidor envía actualizaciones a 60 FPS vía CSS continuo; el juego funciona con JavaScript desactivado y también puede seguirse con curl. En sus pruebas, un servidor en Rust ejecuta unas 500 partidas simultáneas por núcleo, con un consumo de unos 20 KiB por partida. El principal inconveniente es la latencia: la experiencia es fluida en Atlantic Canada, donde reside el servidor, y se degrada con la distancia, volviéndose injugable al otro lado del mundo. Además, mantener conexiones abiertas indefinidamente provocó caídas en servidores de Fediverse con Pleroma al generar previsualizaciones de enlaces, un vector de DoS que ya fue parcheado. El autor propone como trabajo futuro un fork de React cuyo DOM virtual se difunda por XSSR.