Renderizado de servidor extremo: aplicaciones web sin JavaScript usando flujos HTTP
Mantener abierta una conexión HTTP y enviar estilos de forma incremental permite actualizar la página sin JavaScript, como demuestra un clon de Flappy Bird.

Una propuesta para llevar el renderizado del lado del servidor (SSR) al extremo: mantener una conexión HTTP abierta y enviar CSS y HTML de forma incremental al navegador. Así se consiguen páginas dinámicas sin JavaScript en el cliente. La técnica se basa en dos ideas conocidas: que el navegador pinta el contenido conforme lo recibe incluso si la respuesta no se cierra, y que un iframe oculto puede recibir envíos de formularios sin recargar la página.
Para probar la idea, el autor ha desarrollado un clon de Flappy Bird donde la física se ejecuta en el servidor. Las posiciones de los elementos llegan como reglas CSS a 60 FPS. La página funciona igual con JavaScript desactivado. El código fuente está en GitLab.
En cuanto a rendimiento, un servidor Rust puede ejecutar unas 500 partidas simultáneas por núcleo. Cada juego consume unos 20 KiB/s de ancho de banda. Para ponerlo en perspectiva, una aplicación JavaScript típica de 1 MB al cargarse equivale a unos 49 segundos de juego con esta técnica. La latencia es el punto débil: cada clic implica un viaje de ida y vuelta al servidor, por lo que la experiencia depende de la distancia geográfica.
No es una idea nueva —los antiguos CGI y PHP ya la usaban—, pero sin frameworks javascript el desarrollo se simplifica. Eso sí, no parece adecuada para juegos en tiempo real ni para aplicaciones con mucha interacción; es más útil cuando las actualizaciones son poco frecuentes y los usuarios están cerca del servidor.

