Skip to content

Why I use htmx

I recently introduced this notion of the “AHA Stack” - a set of tools I’ve been using with great satisfaction to create things on the Web.

A big, probably the most novel, thing in the AHA Stack is the H part: htmx.

htmx is a super interesting library.

Indie (not provided to you by a FAANG), simple, written in a single JavaScript file in ~3800 lines with no build step, htmx defines itself as an “extension of HTML”.

It brings a few brilliant ideas.

In particular I can mention it makes it possible that:

Those 3 ideas alone are genius.

Plus, we have the biggest change in thinking compared to traditional JS frameworks: you ship HTML over the wire.

Using those ideas I can create interactions and experiences that would otherwise require me to write a ton of JavaScript, depend on a big pile of JavaScript dependencies and hundreds of npm packages, to execute a ton of JavaScript on the client side.

It’s a brilliant little library, with no dependencies, that you install through a script tag. It’s backend-agnostic.

We use htmx to handle client-server HTTP communication once the page is loaded.

So for example the user clicks a link, and we load some data from the server, which we get back as HTML, and we add it to the page dynamically.

And we do this in a way that’s declarative.

Not imperatively writing JavaScript to tell the page what to do, instead, we go up a level of abstraction, and declare what we want it to do.


I wrote 21 books to help you become a better developer:

  • HTML Handbook
  • Next.js Pages Router Handbook
  • Alpine.js Handbook
  • HTMX Handbook
  • TypeScript Handbook
  • React Handbook
  • SQL Handbook
  • Git Cheat Sheet
  • Laravel Handbook
  • Express Handbook
  • Swift Handbook
  • Go Handbook
  • PHP Handbook
  • Python Handbook
  • Linux Commands Handbook
  • C Handbook
  • JavaScript Handbook
  • Svelte Handbook
  • CSS Handbook
  • Node.js Handbook
  • Vue Handbook
...download them all now!

Related posts that talk about htmx: