Yes, it's smaller than some other frameworks, but let's stop with "doesn't require JS" nd other bullshit
What do you think hx-get and hx-trigger="input changed delay:1s" are? Standard browser attributes? Standard browser functionality and behaviour? Standard events syntax?
> It doesn’t require the backend to ‘conform’ to anything,
Just one of the quotes from the docs: "You would need to check on the server side for the HX-Request header to differentiate between an htmx-driven and a regular request, to determine exactly what to render to the client."
> I’m afraid you’re very confused!
I'm afraid I'm not
Because none of that is standard, none of that is understood by browsers, and requires HTMX to work.
Which is also besides the point of discussing whether or not HTMX invents its own templating, DSL, and requires the server to be aware of HTMX to to work properly.
I'll let you find any working examples yourself.
Most sites won't work or will be broken, too. Obviously You have to actually try and work on progressive enhancement, and not rely on marketing blurbs and promises of magic.
I wonder if people blindly defenfing their favorite thingd actually know anything about them.
I assure you I know quite a bit more than you when it comes to htmx and progressive enhancement, having built multiple progressively enhanced htmx apps that work almost exactly the same without JS.
Yup, the unworking hamburger menu on the website preaching about progressive enhancement and built entirely with this framework "has nothing to do with htmx".
All examples on HTMX site that we're told will just work "with full page reload" and that don't work also have nothing to do with HTMX.
HTMX is magical progressive enhancement "The things work, albeit with a full page load" somehow are broken on HTMX site itself and on most sites built with it, but all this also has nothing to do with it. Because "things just work"
And now you're repeating what I already said and somehow pretending it's an argument with something I didn't say.
>> Which is also besides the point of discussing whether or not HTMX invents its own templating, DSL, and requires the server to be aware of HTMX to to work properly. reply
> The things work, albeit with a full page load. As one of the ancestor comments said: progressive enhancement.
Oh. It turns out things don't work, neither on HTMX's own site, nor on most sites built with it.
Why do you keep arguing theory when reality is right there for anyone to see?
> Your criticism is basically that it’s not perfect, so it’s worthless.
No. My criticism is that HtMX authors and proponents keep presenting HTMX as something it objectively isn't despite actual verifiable reality.
I literally said what I mean in my first comment which started this pointless thread.
As I said in a sibling comment:
At this point I'm tired of pointless arguing with reality-denying people. Adieu.
Good luck with your confirmation bias fallacies though.
Hx-attributes are not a new ‘templating syntax’, they’re custom attributes with a simple DSL for describing triggers and swaps. You can prefix them with ‘data-‘ if you want and they will be 100% standards-conformant. HTML itself is full of these little in-attribute DSLs–look up the standard ‘autocomplete’ attribute:
<textarea autocomplete="shipping street-address"></textarea>
When people complain about this stuff, they just reveal they don’t know HTML.> …from the docs: "You would need to check on the server side for the HX-Request header…
Yes, this is how HTTP content negotiation works. The client sends headers to the server describing what it wants and the server sends headers describing what it gives. I hope you’re not suggesting that htmx invented this technique. It’s kinda funny to suggest that htmx forces servers to ‘conform’ to something when most of today’s JS frameworks do server-side rendering only on JavaScript server runtimes.
They are. If you look at how they are processed by HTMX itself.
> they’re custom attributes with a simple DSL
At least you agree that it's a custom DSL
> You can prefix them with ‘data-‘ if you want and they will be 100% standards-conformant.
It doesn't matter if they are "standards compliant". The browser has literally no idea what they are, and what that DSL is. HTMX parses them, parses the DSL etc.
Turn off Javascript and whatch how this beautiful standard-compliant stuff turns inert (or doesn't even load).
> Yes, this is how HTTP content negotiation works. The client sends headers to the server describing what it wants
That's not how content negotiation works. Standard content negotiation does not require custom headers, or the client needing to parse this header and be aware of anything to differentiate requests.
There's are literal Content-Type and Accept standard headers. And yet HTMX invents its own flavor.
> most of today’s JS frameworks do server-side rendering only on JavaScript server runtimes.
Most of which AFAIR don't require custom headers.
https://docs.solidjs.com/concepts/control-flow/conditional-r...
https://vuejs.org/guide/essentials/template-syntax.html
https://angular.dev/guide/templates#differences-from-standar...
None of which work with JavaScript turned off (unless you have a JavaScript backend and you wire it up to serve HTML).
The criticisms I’m seeing here are all things that are accepted without question in other frameworks but when htmx does it, suddenly it’s too much.
Who said they are accepted without question?
> when htmx does it, suddenly it’s too much.
No, when HTMX and its proponents claim things that are objectively provably false, it's too much.
Me: HTMX requires the server to be compliant with its DSL to work properly
You: no it doesn't. It's literally how content negotiation works! <Thus admitting HTMX requires server to conform to HTMX to work properly>
Me: there are literal standard headers for content negotiation
You: but what about React, and other frameworks.
Are we talking about React? Or other frameworks? We are talking about HTMx and your and others' claims about it.
Me: HTMX is custom templates and custom DSL.
You: no it's not!
Me: yes, it is
Me: It's standards compliant custom attributes and custom DSL. Why don't you look at all these other frameworks.
At every step of your "argument" you keep confirming every word I'm saying while somehow presenting it as an argument.
Try to actually learn something about tech you so fervently defend and to see how uour claims rarely differ from marketing bullshit (that marketing bullshit is often peddled by HTMx itself, most other frameworks are much more honest).
At this point I'm tired of pointless arguing with reality-denying people.
Adieu.
Also I pointed out that HTML already has custom DSLs in many of its attributes, this is not some new thing that htmx invented.
Finally, it says directly on the htmx landing page that it uses attributes for its functionality, and directly shows examples of common ones. This is right on the landing page. You have to dig into the special syntaxes of the other frameworks I mentioned to understand the differences they introduce. So I firmly refute your claims of marketing bullshit and dishonesty :-)
Try re-examining your own biases, you are in strong reality-warping mode :-)