I Reviewed 1,000s of Opinions on HTMX
konfigthis.com
konfigthis.com
The main problem it's trying to solve is not that React is bad, but that people are using React to build simple pages which is unnecessary, like taking a private jet out to the suburbs.
Hopefully by understanding people's opinions, we can all make better engineering decisions though.
I think
https://htmx.org/essays/when-to-use-hypermedia/
But i also think you can push htmx a lot further than many people suspect with the judicious scripting:
https://hypermedia.systems/client-side-scripting/
on the gripping hand, here's a guy building a crazy-ass clojure-based spreadsheet w/ htmx + scripting:
https://fxtwitter.com/RustyVermeer/status/172669753149162316...
¯\_(ツ)_/¯
The more appropriate analogy is, you do not need a sky-crane to build a single family home.
In our case that was useful because it aligned with our business goals, although I didn't particularly care for it. I wonder how many bloated, React-cargo-culting sites are actually not using that bloat, vs using it for user-invisible and/or user-hostile purposes. Are devs out there building personal blogs as React SPAs still?
JS devs running around talking about sever side rendering and hydration and how that can be good for caching... They are acting like they discovered fire and it's just 20 year old web tech. (Akami anyone).
React, is a prime example of Conways law, and a Facebook product for a Facebook problem. And I will tell you that if I was shoving personalized content down the wire, or a real web app react makes sense. It is a good idea.
On the other hand, should I serve a blog post with react? Probably not. How about that product page for your ecom-store? React might not make sense there either. But HTMX, or jQuery or something that runs after render would be amazing for riding the cache.
And this is where we get into the problem with "modern" js. There is a ton of amazing tooling, but its a lot of it is all (react and the whole stack that comes with it) or nothing (HTMX) ... I think that there is a market gap because a lot of us know that we need something in-between.
There is a reason that 70 percent of sites still have jQuery see: https://archive.is/jYEZh . And even if that number is half that, it shows that the JS market still has a massive gap.
Funny enough, that's always been in the pro column for me. We need a step back from the path we've gone down since react was introduced. React and similar tools absolutely solve specific problems, but we shouldn't be building nearly as many sites with those tools as we do - not everyone is building Facebook.
> This is a fundamentally new approach to interface design
Which "best practices" are imperative, these days? I don't build many advanced web UIs but my impression is that most professional interfaces are handled with declarative XML-style schemas. It's hard to shake the feeling that this is a reinvented wheel...
I'll fix this sentence so I don't confuse any future readers. Thanks for the catch!
One could argue defining what gets updated on which event via attributes (htmx) is more declarative. On the other hand, it is not fully declarative because the server is rendering the html code with the attributes. But OP argued for more declarative, which I think it is fair.
But still, experiments only happen in one context so its hard to extrapolate how the results would predict your own situation. This is why I think parsing opinions is a great through-provoking exercise.
If somebody is seeking an answer for their own engineering problems, then the necessary due diligence is always required on their part.
It makes me feel some kind of strange philosophical way however... like on one hand it makes me think "well yea, anyone who looks at different reviews would come to a similar conclusion", but the difference is that other people just aren't doing that, and for whatever reason let others shape their opinion on it instead of doing research.
Similarly I've noticed other people will dismiss ideas for making money from something "because it has already been done to death." But yet someone else comes along and does just that, again, and turns a good profit, and now the critic is silent. The only difference is the critic simply didn't do the same thing themselves, but they could have.
Am I just slowly arriving at a weird "this is how intelligence works" cross-roads? I might be losing it...
Honestly I didn’t get much at all out of this, other than a fairly transparent attempt to drive traffic to their site, so readers would see them plug their own product.
Am I the only one? Is this unnecessarily harsh?
But for context, the original intention of this article is to highlight opinions from the community. I feel that interleaving my own opinions would be untrue to the original intent.
Hm, definitely interesting to have some inline example/resources, I can see examples augmenting the original opinions.
I do appreciate summarizing the pros and cons of things from a perspective of _actually_ trying to use all of them to accomplish a common goal though.
I think they were just trying to not give a purely subjective opinion on their differences... and one could argue that this information might be useful to make one's own choice as to which solution to use for their next project.
I didn't get the sense that they were trying to plug anything or drive traffic at all. I could also argue that merely linking to a blog post in the first place might be doing the same thing... but where should the line by drawn and who should the authority be on that?
For most personal blogs, even HTMX is probably overkill.
From memory, i'm not to sure that a lot of problems that startups solve need a "thick-client" architecture. I think the canonical "thick-client" products are google sheets and google docs-esque products. I could be wrong about the actually distribution on this though. I think the author of HTMX phrased is correctly in that it really depends on where you are providing value—the backend or frontend. That would determine the viability of adopting HTMX.