That said, this is me speaking about htmx based on what I know about it. They may have some tricks up their sleeves these days to account for those issues. But those tricks would need JS.
If you are building the next google maps, maybe htmx isn't for you. But if you're building another LOB app with mainly forms and data views, or an ecommerce site, or another CMS, there's a 99% chance that htmx is plenty.
Personally, I'm betting that you can make a whole interactive site on top of Go's html/template library + htmx, using a pattern I'm developing here: https://github.com/infogulch/caddy-xtemplate I'm currently co-developing this with an rss reader webapp to work out the kinks.
<ul>
{{range .Query `SELECT id,name FROM contacts`}}
<li><a href="/contact/{{.id}}">{{.name}}</a></li>
{{end}}
</ul>
…reminds me of what we used to do in php3 days. That was convenient, performant and… unmaintainable. Am I missing something ?The proposal is that Locality of Behavior > Separation of Concerns. Maybe its true! We'll see. :)
I wouldn’t go as far as 99%. There are a lot of web apps where you toggle between panes, expand certain things, and so on. But I think you are still right in the sense that htmx is a very fruitful starter kit that can cover many if not most “boring” standard use cases.
One thing is for sure, this SSR hydration shit show is not a good state of affairs. It’s way too much complexity for what it does. And now you have to worry about reaching the same logical state from two different starting points.
> I'm betting that you can make a whole interactive site on top of Go's html/template library + htmx, using a pattern I'm developing
This is cool, and indeed reminiscent of PHP. Cycle of life!