Ox: comportamiento reactivo en el HTML con un solo atributo

Fuentes: Ox: reactive behavior in HTML with a single attribute

Ox es una pequeña herramienta de navegador (~8 kB en gzip) que lleva la reactividad al propio marcado HTML mediante un único atributo, moo=, en el que se escribe JavaScript directo. La página comparte un único objeto de estado st y las expresiones declaradas en los elementos solo dependen de los valores que leen, de modo que las actualizaciones de objetos y arrays solo refrescan las expresiones afectadas. No requiere paso de compilación, ni sistema de plantillas adicional, ni lenguaje de directivas: basta con cargar un script para empezar a usarlo.

Las expresiones reciben, además del estado, referencias al elemento (el), al evento (evt) y al propio motor (ox), lo que permite manejar interacciones locales sin salir del navegador. Cuando la interacción tiene que cruzar la red, las funciones ox.get y ox.post envían únicamente la consulta o el cuerpo indicados y aplican sobre el DOM los parches SSE (Server-Sent Events) generados por el servidor siguiendo el protocolo de Datastar.

Ox está pensado como una capa de comportamiento sobre HTML controlado por el servidor, no como sustituto de frameworks tipo React ni para ejecutar marcado no confiable. Sus expresiones se compilan con new Function, por lo que un CSP estricto debe permitir de forma explícita unsafe-eval. La documentación incluye una guía que parte del estado local y va incorporando el servidor solo cuando la interacción lo requiere.