En el mundo del desarrollo web, parece que todo pasa por JavaScript. Pero, ¿y si pudieras aprovechar las funciones modernas del navegador directamente desde HTML, sin necesidad de escribir toneladas de código JS?
Ahí es donde entra htmx, una librería ligera que devuelve a HTML su poder original y más.
¿Qué es HTMX?
htmx es una librería JavaScript sin dependencias que te permite:
- Hacer peticiones HTTP (GET, POST, PUT, DELETE…) directamente desde HTML.
- Usar cualquier evento como disparador, no solo clics o envíos de formularios.
- Actualizar solo partes específicas de la página, no todo el documento.
- Trabajar con HTML como respuesta del servidor, no JSON.
Con htmx, puedes extender el comportamiento clásico de etiquetas como <a> o <form> a cualquier elemento HTML, manteniendo la simplicidad de un desarrollo web tradicional.
Ejemplo rápido
Tradicionalmente, un enlace HTML funciona así:
<a href="/blog">Blog</a>
El navegador hace una petición GET a /blog y recarga toda la página. Con htmx, puedes hacer cosas como:
<button
hx-post="/clicked"
hx-trigger="click"
hx-target="#parent-div"
hx-swap="outerHTML">
Click Me!
</button>
Esto significa:
“Cuando el usuario haga clic en este botón, envía una petición POST a
/clickedy reemplaza el contenido del elemento con idparent-divpor la respuesta del servidor.”
Ventajas clave del htmx
- HTML súper mejorado: Cualquier elemento puede disparar peticiones HTTP.
- Menos JavaScript: La lógica se define en atributos HTML (
hx-*odata-hx-*). - Más opciones de interacción: Cualquier evento puede ser el disparador.
- Actualizaciones parciales: Solo recargas lo necesario.
- Compatible con el modelo web original: HTML como motor del estado de la aplicación.
Instalación de HTMX
Htmx es tan simple que puedes usarlo con solo añadir un <script>: CDN (jsDelivr)
<script src="https://cdn.jsdelivr.net/npm/htmx.org@2.0.6/dist/htmx.min.js"></script>
Descarga directa
- Bajar
htmx.min.jsy colocarlo en tu proyecto. - Incluirlo con:
<script src="/path/to/htmx.min.js"></script>
NPM
npm install htmx.org@2.0.6
Luego importarlo en tu JS:
import 'htmx.org';
window.htmx = require('htmx.org');
¿Por qué usar htmx en tu proyecto?
- Ideal para apps ligeras que no necesitan frameworks SPA pesados.
- Reduce la complejidad del código y mejora la velocidad de carga.
- Perfecto para sitios donde SEO y rendimiento son prioritarios.
- Funciona muy bien con arquitecturas server-first como las de Astro, Django o Laravel.
Conclusión
htmx devuelve el poder a HTML, permitiéndote crear aplicaciones web interactivas sin sobrecargar al navegador con JavaScript innecesario.
Si quieres un desarrollo más limpio, rápido y fácil de mantener, esta librería puede convertirse en tu arma secreta.
CONSEJO: Menos JavaScript significa menos bloqueos de renderizado y mejores Core Web Vitals, lo que ayuda a tu posicionamiento en Google.