HTMX + Go: cómo crear apps web interactivas sin escribir JavaScript — Guía 2026

Editor de código con lenguaje de programación Go
Go y HTMX forman una combinación poderosa para aplicaciones web modernas sin JavaScript.

Hay una ironía que pocos reconocen: pasamos 15 años construyendo frameworks JavaScript cada vez más complejos para simular lo que la web ya sabía hacer desde 1993. React, Next, Svelte, Solid... todos prometieron liberarnos de la complejidad del frontend, y terminamos con bundlers de 200MB, node_modules más pesados que Minecraft, y apps que tardan 3 segundos en mostrar texto.

Mientras tanto, en las trincheras del backend, un movimiento silencioso está demostrando que se puede tener interactividad moderna sin entregar el alma a JavaScript. La combinación: Go + HTMX. Y Alex Edwards, el autor del libro más respetado sobre desarrollo web en Go (Let's Go y Let's Go Further), acaba de publicar una guía definitiva que está dando que hablar en Hacker News con 187 puntos.

¿Qué hace HTMX y por qué debería importarte?

HTMX es una librería minimalista (14KB) que te permite hacer peticiones AJAX directamente desde HTML. Sin escribir una sola línea de JavaScript. En serio. En vez de:

<button onclick="fetch('/api').then(r => r.text()).then(d => document.getElementById('x').innerHTML = d)">

Escribes:

<button hx-get="/api/users" hx-target="#results">Cargar usuarios</button>

Eso es todo. No, no es magia. Es aprovechar las capacidades nativas del navegador que siempre estuvieron ahí pero que olvidamos existían cuando decidimos que todo debía ser una SPA.

Los 3 patrones de Alex Edwards que deberías copiar hoy

La guía de Edwards no es un "hola mundo" genérico. Son patrones de producción que ha refinado durante años construyendo aplicaciones web en Go. Los tres más importantes:

1. Templates parciales con Go html/template

Go tiene uno de los sistemas de templates más seguros del ecosistema (escapa HTML automáticamente, sin riesgo de XSS). La clave es estructurar tus templates para que funcionen tanto como respuesta completa de página como fragmento parcial para HTMX.

El truco: usar un template base que incluya el layout completo, y templates parciales que solo renderizan el fragmento. Cuando HTMX hace una petición, el servidor detecta el header HX-Request y devuelve solo el parcial. Si es una carga normal, devuelve la página completa. Un solo handler, dos modos de respuesta.

Así de simple:

func (h *Handlers) usersList(w http.ResponseWriter, r *http.Request) {
    users, err := h.models.Users.GetAll()
    if err != nil {
        h.serverError(w, r, err)
        return
    }

    // Si es HTMX, solo renderiza el parcial
    if htmx.IsHTMX(r) {
        h.renderPartial(w, r, "users/list.tmpl", users)
        return
    }

    // Si es carga normal, página completa
    h.renderPage(w, r, "users.tmpl", users)
}

2. Redirects que funcionan con HTMX

Los redirects HTTP normales 301/302 no funcionan con peticiones AJAX de HTMX. Edwards resuelve esto con un middleware que detecta el header HX-Redirect y lo propaga. Su solución es tan elegante que la implementación cabe en 10 líneas.

3. Manejo de errores sin romper la UX

Cuando ocurre un error en una petición HTMX, el usuario veía una pantalla en blanco. Edwards propone responder con un fragmento HTML que muestra el error inline, usando el header HX-Retarget para reemplazar el contenedor de errores en vez del contenedor principal. Tu form sigue visible, el error aparece donde toca, y nadie pierde el contexto.

¿Por qué esto es importante para el desarrollador LATAM?

En Latinoamérica, cada milisegundo de carga y cada megabyte de JavaScript cuenta. No todos tus usuarios tienen fibra óptica de 500MB. Muchos acceden desde celulares con planes de datos limitados y conexiones inestables.

Go + HTMX te da:

Y lo mejor: puedes migrar gradualmente. No necesitas reescribir tu app. Empieza con un botón hx-get y ve reemplazando funcionalidades de a una.

Los datos no mienten

El post de Edwards en Hacker News acumuló 187 puntos y 42 comentarios con ratio perfecto para contenido útil (0.22 ratio comments/puntos — indica que la gente votó porque es valioso, no porque genera polémica). En Reddit r/golang, el hilo sobre HTMX tiene 92% de upvotes y comentarios mayoritariamente positivos.

Según la encuesta de State of JS, HTMX pasó de 5% awareness en 2023 a 38% en 2025. Y en la encuesta de Stack Overflow 2026, los desarrolladores Go reportan el segundo salario más alto del ecosistema, solo detrás de Rust.

El veredicto

¿Necesitas React para tu próxima app? Probablemente no. HTMX + Go no es una moda — es un recordatorio de que la web ya era interactiva, y que gastar 200MB en JavaScript para mostrar una lista de usuarios filtrados es un lujo que pocos proyectos necesitan.

Si eres developer Go o estás aprendiendo, la guía de Alex Edwards debería estar en tu lista de lecturas obligatorias de 2026. Y si todavía usas jQuery, bueno... también funciona con HTMX. HTMX no odia tu framework favorito. Solo te da una opción mejor.

Comparte esto con ese amigo que jura que React es la única forma de hacer web.

¿Todavía usas React para todo o te animaste a probar HTMX? Cuéntanos en los comentarios.