Oliver Servín
Desarrollador y creador
Oliver Servín

htmx

Todas mis notas sobre htmx con conceptos y tips de uso.

Notas

Log de htmx.

Una utilidad muy buena que tiene htmx es poder ver o hacer un registro de todos los eventos que htmx despacha con el método htmx.logAll().

Lo podemos registrar en la consola y después realizar una acción que involucre htmx para ver los registros devueltos desde la consola del navegador.

El atributo `target`.

Por defecto, en HTMX si la respuesta contiene todo un documento HTML, entonces HTMX toma únicamente la etiqueta body y es el contenido que tomará para reemplazarlo dentro del div de la acción.

Sin embargo, es posible cambiarlo utilizando el atributo htmx-target, que buscará el elemento objetivo y lo utilizará como el contenido para el reemplazo.

HTML no es más lento que JSON.

Se suele decir que HTML es más lento que JSON, pero esto no tiene por qué ser cierto.

Es más fácil gestionar HTML como lo hace HTMX, porque lo único que hace HTMX es tomar la respuesta del servidor y reemplazar el HTML dentro de un div, lo cual esencialmente no es muy complejo.

Mientras que recibir una respuesta en JSON implica recibir los datos y generar HTML desde el cliente a partir de esos datos.

Este proceso podría parecer más complejo que simplente reemplazar el HTML devuelto.

`accept-html` *header*.

Una forma de forzar el tipo de contenido que estamos enviando entre el servidor y los clientes es utilizando el header accept.

En un enfoque normal de front-end como Next.js, se envía la respuesta del servidor en formato json, pero también es posible enviar la respuesta en formato html.

Atributos htmx.

HTMX tiene varios atributos disponibles que básicamente tienen la forma htmx-<verb>.

El valor de los atributos debe ser un endpoint en nuestro servidor que, al recibir una respuesta, HTMX reemplaza el contenido obtenido por el servidor y lo coloca dentro del div donde se haya colocado algún atributo htmx.

htmx y React.

HTMX y React pueden usarse al mismo tiempo. No porque use HTMX todo tiene que ser HTMX; HTMX despacha varios eventos de JavaScript y puedes utilizar React para escuchar esos eventos.

htmx y el backend.

Podemos utilizar HTMX con cualquier lenguaje de backend que queramos.

htmx es controvertido.

HTMX provoca reacciones bipolares; hay quienes lo aman y quienes lo odian.

Se dice que HTMX en realidad está respaldado por dinero, pero no está confirmado.

Por lo que se sabe, el creador es una sola persona que lo hace todo, incluyendo los memes que casi todos hemos visto desde algún lugar de Montana.