I’ve been using it to build a nontrivial site for a few months. It has some surprises coming from a background of experience with SPAs but it’s been pleasant to use overall, once I got over my own biases.
Not having to define types in JS is massive, and having a number of transitive frontend dependencies that I can count on one hand is huge.
It might not be the best tool for every job, but it’s a pretty great tool for small full stack shops.
htmx is not meant to do anything fancy that you can’t do with Ember/Angular/React/Vue/etc.
The main motives for me deciding to go with htmx:
- No duplication of data models and routing, and all business logic stays on the server-side where it belongs.
- Locality of behavior: you can see exactly where a request will be triggered and what will be done with the response, so less jumping between files or scrolling up and down.
- No build step, no dependency hell, and no outrageous churn; just include one JS file that browsers should be able to run indefinitely.