Does it have its merits? Maybe? I don't know, I can never get past the memes and shit-slinging. Or past them superficially co-opting terms they have nothing to do with like Erlang, or hypermedia.
It's a toy mascarading as a serious tool.
Does it have its merits? Maybe? I don't know, I can never get past the memes and shit-slinging. Or past them superficially co-opting terms they have nothing to do with like Erlang, or hypermedia.
It's a toy mascarading as a serious tool.
This has nothing to do with hypermedia. You can return json, xml, pdf, or binary and be 100% hypermedia-driven.
i am willing to admit that i get a little wild on the ol' twitters and understand if that isn't everyone's cup of tea (otoh, you probably wouldn't have heard of htmx if i went at things the normal way: i'm a solo dev in montana.)
I'm not sure why so much of this thread takes offense to your work. HTMX has been transformational for me. I'm grateful that you persevere.
https://star-history.com/embed#bigskysoftware/htmx&bigskysof...
at the end of the day, i enjoy memes and shoot-posting and, as they say, to thine own self be true.
Just because you use get/post and return HTML does not make you hypermedia, or "extend HTML with hypermedia" whatever that means.
> A hypermedia control is an element in a hypermedia that describes (or controls) some sort of interaction, often with a remote server, by encoding information about that interaction directly and completely within itself.
I think that's a pretty clear definition. Maybe you disagree w/ it, but it's at least defensible, no?
As far as what it has to do w/ htmx, htmx extends HTML as a hypermedia, making the set of hypermedia exchanges it can perform larger and more general. (This is in contrast w/ something like React, which typically uses a fixed-format non-hypermedia data API to communicate w/ the server.)
I understand you don't like the somewhat crazy social media presence of htmx, but the philosophy underneath it is fairly well developed and, as far as I can tell, at least plausibly related to hypermedia.
Yes, they do. And they turn around, slap an "Extending HTML As Hypermedia" on it as if that sentence made any sense, and then keep on pretending what they do has anything to do with hypermedia.
> A hypermedia control is an element in a hypermedia that describes (or controls) some sort of interaction
> I think that's a pretty clear definition.
It's a string of words that make zero to no sense. What is an "element in a hypermedia"?
> htmx extends HTML as a hypermedia
This sentence also makes no sense
> making the set of hypermedia exchanges it can perform larger and more general.
Neither is true. HTMX limits all exchanges to HTML, and HTML only, and then clearly separates whatever HTML it accepts and "JSON Data APIs" into two separate entites. Doesn't make them hypermedia.
> but the philosophy underneath it is fairly well developed and, as far as I can tell, at least plausibly related to hypermedia.
But it's not. It's slapped on with al the confidence of a teenager who discovered a new word and now uses it everywhere.
Hypermedia isn't "we do REST requests and get HTML back" or "we separated HTML and JSON into two separate APIs, these are now hypermedia elements in hypermedia as we've extended HTML as hypermedia".
Just because you repeat something a hundred times, doesn't make it so.
They even mention HATEOAS a few times as if it had something to do with HTMX and literally throw it out of the window.
Edit:
They even completely misrepresented Roy Fielding's REST paper by pretending it only applies to HTML and claiming this somehow reflects the original idea behind the dissertation
Here's what Fielding says:
"When I say Hypertext, I mean the simultaneous presentation of information and controls such that the information becomes the affordance through which the user obtains choices and selects actions"
htmx "extends" HTML as hypermedia by generalizing the idea of hypermedia controls in it, which is laid out pretty clearly in chapter 3. You might say it's a bad generalization, or generalizing hypermedia controls in general is a bad idea, but it's pretty straight forward:
- generalize the event that triggers the request
- generalize the HTML element that can issue the request
- generalize the type of HTTP request that can be made
- generalize the way the response can be placed in the page
I don't think it's reasonable to say that we pretend REST only applies to HTML when we present a completely different hypermedia, Hyperview, in our book as an example of a REST-ful system:
https://hypermedia.systems/hyperview-a-mobile-hypermedia/
It appears that you really don't like me at a personal level, which I understand: I don't like myself a lot of the time. However, i think if you stepped back from that fact, you'd see you are being a bit unreasonable here.
Doesn't come from his dissertation, does it?
Also, there's a reason hypertext and hypermedia are two different words.
> htmx "extends" HTML as hypermedia by generalizing the idea of hypermedia controls in it,
Indeed, you're creating your own custom DSL aka your own custom client to speak a custom protocol over the wire that only HTMX understands.
This is no different than someone doing exactly the same, but requesting JSON, XML or binary streams from the server, as long as their client knows how to deal with them.
> we present a completely different hypermedia, Hyperview, i
Ah yes. This is "different hypermedia", that there's no client for, but "many developers ignore the hypermedia features of the browser, in favor of building their web applications entirely in JavaScript." Unlike you, of course.
> It appears that you really don't like me at a personal level,
Until this moment in time I had no idea who you were and what you were doing. You were just some random text on screen.
If you are the author of HTMx, well, with this you just continue the same thing, again: acting as an overconfident teenager with a very superficial understanding of things, and taking everything as a personal affront.
No, it came from a talk he gave entitled "A little REST and Relaxation":
https://www.slideshare.net/royfielding/a-little-rest-and-rel...
> This is no different than someone doing exactly the same, but requesting JSON, XML or binary streams from the server, as long as their client knows how to deal with them.
I don't disagree w/ that, so long as there are hypermedia controls imposed on top of those formats (which are not natural hypermedia w/ native hypermedia controls) and are being consumed by a client that implements the uniform interface properly (https://htmx.org/essays/hypermedia-clients/)
> This is "different hypermedia", that there's no client for
Hyperview includes a client, which is one of the reasons I think it will be a successful hypermedia, in contrast w/, for example, attempts to impose hypermedia controls on JSON but not providing a client to consume those controls. (See the above essay, where i discuss this)
> acting as an overconfident teenager with a very superficial understanding of things, and taking everything as a personal affront.
I try to be a humble man and i certainly have much to be humble about, and i appreciate the reminder that at times I fall into the sin of pridefulness. Pride goeth before the fall, and a haughty heart before destruction.