Como uso HTMX com Go

HTML renderizado no servidor e aprimorado com HTMX está emergindo como uma alternativa popular aos frontends pesados em JavaScript para desenvolvedores web em Go, que valorizam modelos mentais mais simples, menos etapas de build e a possibilidade de entregar apps de “um único binário”. Os comentaristas compartilham padrões de stack (por exemplo, Go + HTMX + SQLite, Datastar, templ) e ferramentas para templating, SQL e streaming, além de apontar dificuldades como a ergonomia do html/template do Go, componentes interativos complexos (como grades de dados ricas) e resistência das equipes a abordagens que não sejam React. Muitos veem o HTMX como ideal para apps no estilo CRUD e dashboards, mas menos adequado para UIs altamente interativas com estado compartilhado, onde frameworks como SvelteKit, LiveView ou React ainda podem ser uma escolha melhor.

Sentimento geral sobre Go + HTMX

  • Muitos comentaristas gostam muito de Go + HTMX para apps web pequenas a médias: implantação rápida e simples, “um único binário”, pouco JavaScript e aproveitamento de renderização tradicional no lado do servidor.
  • HTMX é elogiado por substituir o boilerplate repetitivo de eventos/DOM em JavaScript puro por atributos declarativos, especialmente para CRUD, dashboards, UIs de administração e designs “hipertexto-nativos”.
  • Várias pessoas relatam usar padrões semelhantes com outros backends (Rust, Python, ASP.NET Razor Pages, stack Kotlin, Bun).

Stacks, ferramentas e templating

  • Stacks “clássicas” mencionadas: GUS/HUGS (Go/HTMX/Unix/SQLite), GoTH, Go + Datastar, PAHG (Pico.css/Alpine/HTMX/Go).
  • Ferramentas comuns em Go: templ, gomponents, sqlc, jet, goose, geradores OpenAPI, bibliotecas SQLite, workflows duráveis, automação de navegador etc.
  • Forte interesse em HTML e SQL com type safety: templ, gomponents, HTML no estilo JSX ou DSL (Kotlinx.html, gsx, JinjaX, tagged template literals).
  • Vários não gostam da ergonomia de html/template do Go (cloning, templates “stringy”); outros o defendem como seguro e direto quando usado de outra forma.
  • Um fio pede mais textos “prontos para produção”: empacotamento de assets, hashing, dev servers, hot reload e gerenciamento das poucas dependências JS.

Casos de uso, limites e alternativas

  • Muitos dizem que HTMX brilha em apps simples a moderadamente complexos; os problemas aparecem com:
    • Componentes altamente interativos (grades de dados ricas, filtros complexos, virtualização).
    • Estado compartilhado entre muitos componentes interconectados.
    • Colaboração multiusuário em tempo real.
  • Nesses casos, as pessoas relatam experiências melhores com Svelte/SvelteKit, React, Vue ou Elixir Phoenix LiveView.
  • Datastar e Unpoly são citados como alternativas mais próximas de “reatividade total” e ainda centradas em HTML; Datastar é elogiado por potência/tamanho, mas é em parte comercial e, segundo um comentário, mais fraco em progressive enhancement.
  • Alguns argumentam que HTMX empurra intencionalmente você para longe de UIs no estilo app móvel e em direção aos fluxos clássicos da web; outros veem isso como uma limitação.

Segurança e Hyperscript

  • Hyperscript é apreciado como uma forma de lidar com estado do lado do cliente/mudanças no DOM sem arquivos JS separados.
  • O debate gira em torno de CSP: código inline ou avaliado pode forçar políticas mais fracas; extensões e abordagens baseadas em nonce são mencionadas como mitigação.
  • Consenso: com CSP rígida e validação adequada no servidor, o risco pode ser gerenciado, mas os detalhes de CSP importam.

Dinâmica de equipe, popularidade e meta

  • Vários relatos dizem que equipes resistem ao HTMX por ser “não sério” ou desconhecido, ou por não entenderem o básico de formulários/SSR.
  • Outros enfrentam o inverso: organizações presas em SPAs React apesar de problemas de escala.
  • Alguns dizem que o escopo limitado do HTMX e a complexidade crescente para apps grandes explicam por que ele não é “ultra popular”; outros relatam apps médios/grandes funcionando bem quando as abstrações são projetadas com cuidado.
  • Um comentarista observa que posts originais e aprofundados podem se destacar mais hoje porque menos pessoas blogam em profundidade, o que pode explicar aparições repetidas na primeira página do HN.