Thinking about #htmx:
๐ all the #HTML gets generated on the server; the source of truth.
๐ every #DOM manipulation requires a network request.
๐ #declarative easier to reason about.
๐ app behavior declared in bespoke attribute DSL; harder to reason about.
๐ no need to duplicate #backend state on the #frontend.
๐ no offline support.
#hateoas #hypermedia #webdevelopment #web #webdev #frontend #backend #declarative #dom #html #htmx
a) HTML attr based DSLs give me Angular flashbacks. It's declarative, but sometimes I think declarative is harder to grok than imperative.
b) if your UI change required a network request anyway (even if only for confirmation of success) then the performance is the same. but for minor UI state changes, you probably have a point.
@macdonst says that #HATEOAS can lead to network request bloat when you need to make a chain of multiple requests to get some resource.
Does #HATEOAS include #WebSockets? If so, how does one delivery #hypermedia over a #socket?
#api #rest #javascript #web #webdev #http #htmx #html #socket #hypermedia #websockets #hateoas
@b0rk @randomgeek @hbuchel Itโs funny how most โ#RESTfulโ #WebServices have similarly missed the full point of @fieldingโs actual #REST โjust normal web thingsโ style by not using hypertext as the engine of application state (#HATEOAS).
Theyโre just replaying all of #SOAPโs and #CORBAโs sins by relying on a fixed interface that is either revealed through documentation or an #InterfaceDescriptionLanguage like #OpenAPI.
#restful #webservices #rest #hateoas #soap #corba #interfacedescriptionlanguage #openapi
I'm really confused as to why this is so novel to those who comment here. #JSON was not even a part of #REST: it is usually not *representing* anything and is *not* self-explanatory. Clients somehow have to catch up to API changes all the time, and backend can go chill??? This must be an obvious flaw with #JSONAPI.
And yet, the concept of #hypermedia responses, that #HTMX and #HATEOAS try to remind us of, seems alien to most. Oof, now that's the power of gaslighting in development circles! :rickwhoah:
#json #rest #hypermedia #htmx #hateoas #jsonapi
i've been making a #rest #api lately.
real rest, you know, hypertext-as-the-engine-of-application-state #hateoas
it's kind of nice, actually. i like it.
did the half-whispered fever-dream of general (front-end) clients that can let a user navigate such an api ever lead anywhere?
@mogsie @mamund Cool! I have had a thought simmering in the back of my head for a few years now about using a PlantUML statechart to generate the stubs of a hypermedia-driven API. This sounds like much the same, only without the hypermedia โfront-endโ.
I believe the request/response dependency you describe can be decoupled with hypermedia by describing each response as a distinct type the client knows how to process, without knowledge of what it has processed before or what it is supposed to process next (iow: statelessness).
I try to describe this decoupling in the following article:
https://nordicapis.com/rest-state-machine-revisited/
I would love to know what you think.
The 2.0.0-SNAPSHOT of "JSON:API for Spring HATEOAS" is now based on Spring Boot 3.0.0. Try it out before I release 2.0.0! See https://github.com/toedter/spring-hateoas-jsonapi
#rest #spring #hateoas #jsonapi
Since implementing my first API, it has taken me almost 15 years to actually write an article on Hypermedia and HATEOAS for a journal.
Maybe I should have done this earlier.