I’m not a developer by trade, and I don’t have a formal CS background. But I do write a fair amount of code, and I have managed to pick up some skills along the way. Most of what I write is related to data analysis or modeling or the like—back-end type stuff, as opposed to web front end.

Still, I periodically want a quick and simple web app to do something. Often it is just to help with some local task or dev-like thing, and I figure a web interface would be really handy for the UI.

This typically happens to me every year or so, and every time it does I find that there’s a new crop of front end tools that everyone is using. The latest web framework I just started getting a handle on last time has fallen by the wayside in favor of something new, and I’m faced with coming down yet another learning curve.

And every time I dive into a project like this, after a day or two my reaction is why is this so !@#$ hard?1

This is in notable contrast to a number of other domains where the tools I’ve been using for years or even decades—shell scripting, Python, LaTeX, R, networking tools, and so on—are usable every time I need them (and the challenge is more about refreshing my memory than learning a whole new skill).

Is it really the case that web technologies are improving so rapidly that it all needs to be new every time I happen to look?

In this last go-around I happened to learn about htmx. Carson Gross initially won me over with his appeal to take HTML seriously, but what kept me around was a gut feeling that this is a technology that could really last.

I’ve been using it now for several months instead of whatever the JS-based framework du jour exists, and I’m very happy with it.2

That is all.

Footnotes

  1. The critic will rightfully point out that many of these frameworks are solving for needs that are more complex than mine. That said, I find even ‘straightforward’ JS tools like JQuery have a complexity that is off-putting.

  2. I’m using htmx with Flask and Python. I’m also very happy with that whole combination, but that’s a topic for another day.