←back to thread

Less Htmx Is More

(unplannedobsolescence.com)
169 points fanf2 | 4 comments | | HN request time: 0s | source
Show context
throw10920 ◴[] No.43620387[source]
While I get the emotional appeal, I still don't understand the use-case for htmx. If you're making a completely static page, you just use HTML. If you're making a dynamic page, then you want to push as much logic to the client as possible because far more users are latency-limited than compute-limited (compare [1] vs [2]), so you use normal frontend technologies. Mixing htmx and traditional frontend tech seems like it'd result in extra unnecessary complexity. What's the target audience?

Edit: "Normal/traditional frontend" here means both vanilla (HTML+JS+CSS) and the most popular frameworks (React, Angular, Vue, Next).

[1] https://danluu.com/slow-device/

[2] https://danluu.com/web-bloat/

replies(9): >>43620401 #>>43620449 #>>43620467 #>>43620547 #>>43620624 #>>43620674 #>>43621160 #>>43621499 #>>43621641 #
pavlov ◴[] No.43620401[source]
Htmx is “frontend tech”.
replies(2): >>43620416 #>>43620424 #
throw10920 ◴[] No.43620424[source]
I said "normal frontend tech" in my comment. It's also easy to tell from context what I mean. I'd appreciate not trying to be pedantic and instead responding to the substance of my comment :)
replies(1): >>43620502 #
pavlov ◴[] No.43620502[source]
What defines normal? It’s a strange idea when the typical stack for web front-end keeps changing. There isn’t even a single answer to the client/server split.

Is JQuery normal? What about the Google Closure compiler? ColdFusion? Silverlight? Ruby and CoffeeScript? Angular? SPA React with classes? Elm? SSR React with a server framework? Client-only vanilla DOM manipulation?

Your idea of normal is presumably whatever you’ve been using for the past few years. For someone who starts using Htmx now, it becomes normal. And if there’s enough of those people, their idea of normal becomes commonplace.

replies(1): >>43620519 #
throw10920 ◴[] No.43620519[source]
> What defines normal?

For the purposes of my comment and question - I do: vanilla (HTML+CSS+JS) and the most popular frameworks (React, Vue, Angular, Next).

> Your idea of normal is presumably whatever you’ve been using for the past few years.

None of those matter for my comment. Just substitute the value I provided above in to my original comment and you should be able to respond to the substance of the point I was making.

replies(1): >>43620567 #
1. pavlov ◴[] No.43620567[source]
Ok, so your list of “normal” frontend doesn’t support your original point:

”you want to push as much logic to the client”

React and Next have been moving in the opposite direction with SSR.

As I said, there isn’t a single right answer. Client-only vanilla JS offers one solution, hybrid SSR like Next/React offers another, and Htmx yet another with different tradeoffs on the same spectrum.

replies(1): >>43620593 #
2. throw10920 ◴[] No.43620593[source]
> Ok, so your list of “normal” frontend doesn’t support your original point:

> ”you want to push as much logic to the client”

> React and Next have been moving in the opposite direction with SSR.

It doesn't matter - they still support client-side rendering, the other frameworks I listed are still client-side-rendering focused, and I explicitly enumerated vanilla webtech where that's the norm.

Please stop nitpicking my language. This is extremely tiring, boring, and not in the spirit of intellectual curiosity.

replies(1): >>43620963 #
3. swores ◴[] No.43620963[source]
They aren't nitpicking your language: they asked for clarity on something where they weren't sure they understood what you meant, then when you clarified they responded disagreeing with you, not about your language.

Feel free to disagree with them back if you wish, but characterising their disagreement as language nitpicking isn't disagreeing it's just wrong.

replies(1): >>43627776 #
4. throw10920 ◴[] No.43627776{3}[source]
> They aren't nitpicking your language

They absolutely are. "Htmx is “frontend tech”." is a nitpick (and an incorrect one at that). "What defines normal?" is a nitpick - if you ask an ensemble of frontend web developers what normal web frameworks are, they'll convert on the set that I specified without bringing up absolutely ridiculous answers like ColdFusion, and all of their answers have enough commonalities that you can answer the question I posed. "Your idea of normal is presumably whatever you’ve been using for the past few years." isn't "asking for clarity" - it's a dunk with no substance. "Ok, so your list of “normal” frontend doesn’t support your original point... React and Next have been moving in the opposite direction with SSR." is absolutely a nitpick - it's very very clear from the line that that poster quoted that I was referring to client-side rendering.

Let me reiterate that: pavlov read the line of my comment that answered his hypothetical question about SSR vs client-side rendering, then used it to try to gotcha me by saying "actually, React isn't just client-side".

And claiming that they were just "disagreeing" with me and "characterising their disagreement as language nitpicking isn't disagreeing it's just wrong" is factually incorrect. Aside from ”you want to push as much logic to the client” (which they didn't disagree with), I didn't make any statements to agree or disagree with - I asked a question that they tried to dunk on without actually engaging with.

People do not talk like this in real life. Let's not normalize or defend this, or manipulate language to try to justify it, shall we?