The .NET Core Podcast
Navigating the Web of HATEOAS and HTMX: Unleashing the Power of Hypermedia and Simplified Front-End Wizardry with Sander ten Brinke
This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility.
Show NotesHateos allows you to add links to the actions you can perform with the data you're returning. So imagine a tweet and imagine, for example, just a links. It's just an object with some arrays. And one of the links could be a retweet link or like a favourite link or like a delete link. And each link contains a type, which is like the HTTP type, it contains the URL to where you perform this action, and it also contains like a name. So kind of human readable kind of name. So like like retweet, delete, stuff like that.
—Sander ten BrinkeWelcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor.
In this episode, I spoke with Sander ten Brinke about HATEOAS and HTMX. These are two separate but complementary technologies which help to build reactive web applications. In fact, as Irina pointed out back in episode 2 of the current season (released on Sept 22nd, 2023), you're likely not building RESTful services if you're not doing HATEOAS.
And HTMX is something, as you'll find out, which aims to simplify building HTML-based apps that utilise web-based APIs by taking care of the boilerplate JavaScript code that you might need to include, using a series of attributes that you can place on elements.
So HTMX is in the principle, it's a JavaScript library, which you can use. So you can use it in your application to write a whole lot less JavaScript.
Let's think back to the good old days, right, where we were writing, like, Web 1.0 applications and our servers were simply like, we're using HTML templating engines, which they still do.
It worked and it worked fine, but it wasn't very interactive because then we kind of got to the point where we were like, we want to do some cool clients application, but we don't want to reload the page the entire time. And that is kind of where the SPA movement came along. We want to be able to have a rich interactive application where clicking a button or clicking multiple buttons, just a bit of the page refreshes, right? That's kind of the Web 2.0, I suppose.
—Sander ten BrinkeSo let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET.
Supporting the ShowIf you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show.
Full Show NotesThe full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/navigating-the-web-of-hateoas-and-htmx-unleashing-the-power-of-hypermedia-and-simplified-front-end-wizardry-with-sander-ten-brinke/
Useful Links- HATEOS
- Chapter 5 Representational State Transfer (REST) of Roy Thomas Fielding's paper which introduced REST in 2000
- HTMX
- munisio - Sander's HATEOS NuGet library
- riskfirst.hateoas
- Sander's blog post introducing munisio
- HTMX.NET
- HTMX for ASP.NET Core Developers
- Getting in touch with Sander:
- on Twitter: @SanderTenBrinke
- on LinkedIn
- his website
- Everything you need to know about configuration and secret management in .NET
- Supporting the show:
- Getting in touch:
- Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend.
And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch.
You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.