Doesn't help that it's a multi-page document…
Persistent domain entity, Proto-persistent domain entity, View model, ,
What the heck… Yeah, I wouldn't want to use that either. While it may be a formalization, it seems like it would significantly increase complexity and overhead. That can't be worth it unless it's a huge enterprise system that has to work with generalized object types across teams or something.
I hadn't heard of Restful Objects before.
I didn't quite follow.
They're using htmx, make errors, and learning something new about using it?
That's like using any new tech though, right? Or - depending on the devs - happens even with established tech.
I've never seen htmx in production. I find it interesting though and want to explore using it. That won't be at work though. :)
I found the dropping of actions quite surprising as well. I would suspect we could return the links with a disabled attribute? If they should be displayed but not accessible/triggerable.
We could have called them HTTP APIs.
They're not demanding anything. They're describing how the current meaning of REST is nothing like the original one.
They're making a point for not splitting application state and logic into client and server with shared knowledge. If you're making that a pretext of course their argumentation won't fit. They're describing an alternative architecture and approach. Not an alternative protocol for the current common web application architectures.
No, it doesn't mean only humans can interact with it.
The key point [of classical REST] is that responses are self-contained self-describing. Requesting a resource response tells you what actions you can take on it. There is no need for application domain knowledge, implicitly or separately-explicitly shared knowledge.
Some HTTP web apis offer links in their JSON responses for example. Like previous and next page/ref on paging/sectioning/cursor. Or links to other resources. I don't think I've ever seen possible resource actions/operations be included though. Which is what the original REST would demand.
That's how I understood it anyway.
Their suggestion of using HTML rather than JSON is mainly driven by their htmx approach, which the project and website is about. Throughout this article though, they always leave open which data form is actually used. In your quoted text they say "for example". In a later example, they show how JSON with hyperlinks could look like. (But then you need knowledge about that generalized meta structure.)
I interpreted it as a wording issue on the "without downloading them" referring to you work locally - which matches "(client side)" as well.
without downloading them (client side)
if they're client side they must be downloaded
Presentation/Lecture; bad software quality due to software stack complexity with increased separation of layers and participants
SoC (System on a Chip) hardware for embedded/smaller use cases is very common and successful.
Suggests "Direct Coding" with direct hardware access as a possible alternative approach to PC hardware interfacing. Implementing that is more about commitment than difficulty. Depends more on hardware producers than software developers. A lack of drivers could give a fairer playing field between manufacturers.
Seems like a Ruby issue and suggested improvement? Using keyword arguments does feel like introducing a type of typing.
In C# I use records for simple, naturally behaving types, I can define explicit and implicit cast operators, so I have to choice between requiring explicit casts or not (because they make sense to require or are not necessary). I can use var
to define a variable without specifying a type, and it is deducted from what it gets assigned - but is still that specific type and gives me type safety.
In Rust, as far as I understand anyway, traits define shared behavior. In Go interface implementations are implicit rather than explicit. With these, there's even less of a need of elaborate explicit typing like the post argues/gives an example of.
In general, I've never had considerable effort or annoyance implementing or using typing. And I know what it's good for; explicitness, and in consequence, predictability, certainty, increased maintainability, and reduced issues and confusions. If following references or refactoring becomes unpredictable or high effort, it'd be quite annoying.
When I'm coding JavaScript adding JSDoc so the typing information gets passed along is quite cumbersome. Without it, the IDE does not give intellisense/auto-completion or argument type matching. JavaScript is better with it, I consider it worth it with IDE support, but it is quite cumbersome. (I try to evade TypeScript compiler/tooling overhead.)
A programming language can offer extensive auto-deduction while using strong typing. With appropriate conversions in place, it will only report conflicts and where it was intended to.
I'm thinking of where I enjoyed dynamic natures, which I certainly have. But I don't think that's a matter of typing. It's a matter of programming language interfacing to typing. If in PHP or JS I make a change, hit F5, and get an error, that's not any better than the IDE already showing it beforehand. And for the most part, I can program the same way with or without typing.
Man, this became a long text.
lol; committee with consensus by violence?