sparse-Matrix 12 hours ago

Bravo! I never would have thought this would be so simple. As a direct consequence of this exercise: I now know something about what, precisely, htmx does.

cheers

wren6991 10 hours ago

Huh, so every interactive event has a network request in the loop, with perceptible latency? And you still end up obligating client-side JS for the plumbing? I'd been meaning to look into HTMX but based on the content of this post it seems like a worst-of-all-worlds technical solution. Is it at least pleasant to work with?

  • dmoreno 10 hours ago

    That's why many times HTMX is used together with alpinejs [1].

    For areas that need server side, if you use say react and return a JSON you have to deserialize and do the render. It might be much more efficient to just replace.

    Having said that I use HTMX /alpinejs for small projects, and still trust react for bigger more interactive ones.

    [1] https://alpinejs.dev/

  • yawaramin 9 hours ago

    No, every interactive event doesn't need to have a network request in the loop. And you only need a tiny bit of client-side JS for a most of the plumbing.

    It is quite pleasant to work with, because you don't have to worry about a constant stream of vulnerabilities or supply chain attacks. You just vendornthe script in your repo, add it as a <script> tag on the page, and you're done.

    • deadbabe 29 minutes ago

      Who is worrying? If JavaScript is on the front end the supply chain attacks are really not your problem.

  • inigyou 2 hours ago

    the network is faster than so much shitty client-side JS these days.

    • grebc 1 hour ago

      When you say these days, I’d argue since mid/late 2000’s for internet with a cable vs. radio waves.

      Radio waves caught up in developed countries with 4G roll outs in my opinion(is that mid 2010’s?).

      Large client side JS has been garbage for most things since it’s inception.

  • simonbarker87 2 hours ago

    It’s only has a network request in the loop if the interaction requires a network request.

    Htmx is a replacement for network interactions, not every bit of UI interactivity.

  • muvlon 2 hours ago

    It's for building extremely backend-brained frontend stuff, like a sort of anti-NextJS. Also like NextJS, this sort of domain-bending has some unfortunate operational consequences.

pixel_popping 8 hours ago

The Github link at the bottom contains a `,` char, might want to fix it.