The joy of simplicity
A few months ago, after going down the rabbit hole of youtube reaction videos from ThePrimeagen, I stumbled upon one about using Ktor with HTMX and how we could “develop reactive UIs without using react”. This quote was so appealing to me that it drove me to an interview with HTMX’s creator about hypermedia systems and how HTMX attempts to solve the most common limitations of HTML.
Suddenly, everything became clear, and I couldn’t stop thinking of new solutions to old problems. HTMX and other hypermedia-based tools like Hotwire allow for less complexity and a simpler stack by avoiding an intermediate format (e.g., JSON), data mapping and tricky state management on thick frontend clients. Naturally, this approach reduces the complexity for those wanting to develop products across the whole backend and frontend stack. It is no surprise that teams that have adopted it successfully have become smaller and more technically homogenous as a result.
I also think this approach reduces the entry barrier for engineers who work in adjacent stacks, e.g mobile, and are looking to transition to fullstack development. It won’t be easy though, as it can be a struggle to deal with the mixture of DOM definition, styling, scripting and reactivity (see locality of behaviour) in a single file as Karen Tracey points out in her DjangoCon 2024 presentation.
You see, I’m accostumed to play with “fairly new” technologies that either break during setup, require complex configurations or have outdated documentation. But as I get older with less time and interest in facing these challenges, discovering these “new” approaches to fullstack development has been a breath of fresh air. Especially while reading a well written book on the topic such as Hypermedia Systems, that focuses on a language, an architectural style and an internet protocol that exists for decades!
Either way, I think these HTMX people are onto something. I don’t know if it is the nostalgia for the first HTML file that I wrote when I was 15 and its radicalsimpli.city, or if I am just too excited to try something new once again. I don’t even know if this will be just another phase and HTMX will turn out to be a niche library.
But a simpler fullstack development experience like this gives me the energy to code after a busy day at work.
And that is already good enough for me.