This episode of The Modern .NET Show is supported, in part, by RJJ Software's Podcasting Services, where your podcast becomes extraordinary.
Show NotesMaybe start with Generative AI. As you, I think, touched on, it's different from what we call "traditional AI." And I also want to acknowledge the term "traditional AI"l is very odd to say it's not traditional. It's very much prevalent and relevant and active
— Amit BahreeWelcome 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, Amit Bahree joined us to talk about what generative AI is, what it isn't, and how it's different from, so called, "traditional AI". He also talks through his new book "Generative AI in Action by Amit Bahree," a book that I had the good fortune to read ahead of publication and can definitely recommend.
I'm not asking is it going to replace an engineer, but like, can an engineer for now just ignore it a little bit?
—Jamie Taylor
Yeah, no. So, no, it's not replacing any engineers, I can tell you that. No.
— Amit BahreeSo 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/generative-ai-for-dotnet-developers-with-amit-bahree/
Useful LinksRemember 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.
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 NotesYeah, exactly.
And it means you can, if you see it in its sort of native place, next time that you're writing something, maybe you don't go and change all your IEnumerables to IAsyncEnumerable because that's not worth doing. But maybe next time you're writing a new API you're like, "oh, you know what, I will use that newer API because it will give me better performance. And when I'm writing it, it's easy to just use the new thing and it's more applicable to this situation."
— Andrew LockWelcome 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, Andrew Lock joined us to talk about ASP .NET Core's new Minimal APIs paradigm. Along the We also talked about validation, and the third edition of his book "ASP .NET Core in Action" from Manning Publishing.
So it's sort of interesting, the philosophy, because obviously validation was one of the things they had some pushback.
In MVC You've got validation there by default, and clearly you always want to have validation of your arguments. So why didn't they include it in minimal APIs? And the answer basically is because there's more than one validation framework. There's the data annotation attributes... but then there's other frameworks like the fluent validation, for example, is a very popular one. And the only way that works in MVC is you have to sort of try and plug it in as an extra part and remove the old validation. And they didn't want to prioritize any particular style of doing validation.
— Andrew LockSo 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-aspnet-core-maze-from-middleware-to-minimal-apis-and-modern-c-sharp-with-andrew-lock/
Useful LinksRemember 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.
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 NotesWhat do they go for? They go for one that's separated from the herd. And the idea behind cyber security nowadays should really actually be: put enough security controls in that they just go, "you know what? There's someone down the road that's got it all wide open. I'm just gonna go for them." And if you can just make yourself look as unappetizing and unappealing as possible, that's half the battle.
— Lianne PotterWelcome 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, Lianne Potter and Jeff Watkins of the Compromising Positions podcast joined us to talk a little bit about the practical side of cyber security. Both Lianne and Jeff are cyber security professionals and have a ton of experience in the industry. But I had them talk about cyber security from a developer's point of view: what can we do, what do we need to know, and how can we help our colleagues on a daily basis?
I think the other side's true as well.
I think companies in general need to encourage a more holistic, and shift-left, and integrated approach to security. I think we talk about that quite a bit about the idea of this should not be an "over the fence," because I guess there's two sides of the coin. One side saying, "oh look, there's the security team, they're the Department of Work prevention, they're the ones who are going to stop you." And there's the other side of that coin where nobody's bothered to ever include people from the security in their ways of working and daily practices
— Jeff WatkinsSo 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/breaking-the-compromise-unravelling-the-truths-of-cyber-security-with-lianne-potter-and-jeff-watkins/
Useful LinksRemember 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.
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 NotesI want it to be like one of those books that you can pick up and you can, like, you don't have to have .NET experience. You might, you know, maybe, you know, Java or maybe, you know, Python or something like that. You should be able to pick this book up and get to a point where you can actually build real world applications with .NET that are secure, they're fast, they're well tested. They have localization built in. They're put into containers that you can throw into like a Kubernetes. I wanted to get to that point where it's like, you could build applications that I've built like, say, with UiPath
— Dustin MetzgarWelcome 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, Dustin Metzgar joined us to talk about his new book ".NET in Action Second Edition." This book takes the first edition, written back in 2018, which targetted .NET Core 2 and upgrades and expands it to both cover a lot more content and to focus on .NET 8.
Along the way, we also discussed the basics of identity and the common pitfalls that developers fall into when they work with one of the current identity standards.
So certificates are still involved too because it's because you need that certificate to sign the tokens. And I think what's interesting about certificates is like you have that, you know, this kind of asymmetric encryption where, you know, you have a private key and then you publish a public key that everybody can see to use to kind of decrypt your, what you sign, what you encrypt. And that's a kind of a feature of like these identity providers.
— Dustin MetzgarSo 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/net-unwrapped-from-workflow-engines-to-kubernetes-containers-a-developers-journey-with-dustin-metzgar/
Useful LinksRemember 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.
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.
NService BusThis episode of The Modern .NET Show is supported, in part, by NServiceBus, the ultimate tool to build robust and reliable systems that can handle failures gracefully, maintain high availability, and scale to meet growing demand.
Make sure you click the link in the show notes to learn more about NServiceBus.
Show NotesWhen you talk to the Temporal guys and look at the way that they've done some of their work is they have a... they have stuff that can run for years. So for instance, they'll kick off a workflow for one of their customers, kicks off a workflow when the customer's created, and that workflow is like managed by Temporal for as long as that customer is a customer. So it could be, you know, I don't know, occasionally sending out an email to, you know, "happy birthday" or something, or sending them promotions or whatever. So they see, they see workflows as like lifetime things — John Kattenhorn
Welcome 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, John Kattenhorn joined us to talk about Temporal.io and their platform for building durable workflows which can operate for years at a time. John in the CEO of Applicita and wanted to talk about the ways that developers can build applications and workflows which can live in the cloud for a very long time.
And the great thing about Temporal is it manages all of those resources for you.
So if you imagined me and you trying to do that, we'd end up standing up, I don't know, a running service or something that was constantly polling the data, looking for eligible customers or something. You'd be burning some resources looking at that stuff, and that's not how they do that. So if you've got like a million customers, the Temporal system dehydrates everything that isn't relevant and only hydrates the workflows that have an action to perform
— John KattenhornSo 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/temporal-orchestrating-success-in-distributed-systems-with-security-and-simplicity-with-john-kattenhorn-with-john-kattenhorn/
Useful LinksRemember 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.
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 NotesUno Platform started off as the core UI framework. UI and non UI, because as part of Uno Platform itself, you have some non UI APIs like accelerometer and like these device sensors that you can use in a cross platform manner. So that part is the core framework, which is the backbone to everything that we built on top of it. — Martin Zikmund
Welcome 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, Martin Zikmund joined us to talk about Uno Platform and how it's way more than just a UI framework. It has support for APIs such as reading device sensors like accelerometers, too. But the bread and butter of Uno Platform, like AvaloniaUI, comes from the fact that you can use the familiar WPF syntax and either the new MVUX architecture or the more familiar to most MVU architecture to build your apps.
Yeah, ideally it should work on any Linux where .NET runs.
And we are currently using GTK as the underlying framework that simplifies our like that access to Linux specific APIs. So there is kind of a middleware layer of GTK. And you know, that makes the development for us much easier because it already has those shims for different versions of Linux and so on built in.
— Martin ZikmundSo 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/s06e18-uno-platform-one-ui-to-rule-them-all-with-martin-zikmund/
Useful LinksRemember 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.
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 NotesYeah, so .NET MAUI is the .NET stack, framework, whatever you want to call it, for writing one code base that runs on what we call client devices, client platforms.
So you have the web, you have ASP .NET Blazor and all that stuff. You have the console apps, you can write with C#, of course, so many backends and APIs and all of that stuff running in the cloud. But with MAUI, it's for client app development. So Android, iOS, macOS and Windows, you can target using XAML and C#, or just C# if you don't like XAML, or Razor if you want to. All are options.
But you can write one code, business logic, your UI, all of your endpoint management and everything, all of that. And it's just written in C#. It's a .NET application. It's using .NET MAUI
— Maddy MontaquilaWelcome 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, Maddy Montaquila joined us to talk about .NET MAUI—the Multi-platform Application User Interface—what it is, it's history, and why developers who are looking for a first-party UI-framework their modern .NET apps should check it out.
We can do that totally within MAUI. It's actually pretty easy.
So you can just say like, "on platform Android, do this," or "on idiom," we call them idioms, right? Tablet, desktop, or phone. "On idiom, do this."
We actually have customers who will ship in the same code base, like two completely different navigation stacks. So it will say, "on desktop, load it up with this nav stack and load into these pages. On mobile, load it up into this nav stack and load up these pages." But since you can share the components, you can basically say, "the navigation of my desktop app, everything is horizontal, but I pull in the same components. It's just like a different grid view than I would do on mobile where it's all stacked on top of each other and it's a scroll." Right?
So you can get super flexible with all of it.
— Maddy MontaquilaSo 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/s6e17-net-maui-navigating-the-cross-platform-code-seas-with-maddy-montaquila/
Useful LinksRemember 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.
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 Notes And keep in mind that, not to bash OWASP and the top ten at all because I'm a big fan of OWASP, but people always tell me like, "yeah, I'm OWASP compliant," and that's the biggest BS, to be honest. Because a top ten could not like, it should be an awareness piece and you should work from it. And there are better ways of dealing with that. But I think a security scorecard should never be a goal. It should be a means to reach the goal, to have better understanding, right? And hopefully they can change stuff and be more expressive. — Niels TanisWelcome 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, Niels Tanis returned to the show. He was previous on the show back in episode 69 - The Risks of Third Party Code With Niels Tanis - which was released back in February of 2021. I asked Niels to back on the show to talk more about securing the software development supply chain and SBoMs (Software Bills of Materials).
Yeah, that makes sense. It's funny.
So I think when I started out talking about supply chain, and there were some tools that have been introduced to do SBoM data, and then you also come into an area called provenance, which tells more about the build and about "this build server was used. And I've run on GitHub actions, or I run on a GitLab instance, or I have stuff done differently," right? Maybe even the Redhat one: Tekton, that kind of thing. And based on that, I'm producing an SBoM.
And I did a talk and I concluded with that, "it's like, these are cool tools, you need to look into it." And then somebody at the end asked me the question, "and the what? You have all the data? And then what?" I said, "yeah, that's solid question because that will be the next step." And it's funny that you mentioned it as well.
So over the time, I think it was around already when I started out talking. But there's a project that Google created called Guac.
— Niels TanisSo 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/building-secure-software-unveiling-the-hidden-dependencies-with-niels-tanis/
Useful LinksRemember 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.
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 NotesYeah, so C# Dev Kit, it is a pretty new extension in VS Code. We just GA'd it back in early October. And it's an extension that basically enables you to be productive writing C# applications in VS Code.
—Leslie RichardsonWelcome 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 Leslie Richardson about the C# Dev Kit, a new extension for Visual Studio Code which aims to make the experience of writing C# and .NET code in the free editor more productive. It improves the experience of working with almost all code bases which use modern .NET, and includes the ability to even run and explore your unit tests within VS Code - something that wasn't easily doable previously.
I know before C# Dev Kit existed, the Test Explorer is a window that exists by default in VS Code. But yeah, you're already laughing like, "oh yeah."
So it wasn't very great pre Dev Kit from my understanding, like simple things such as being able to automatically recognise your test once you build your test project. That was not a thing, which blows my mind. I'm like, "but then what are you supposed to do? Just manually add them in? That doesn't sound fun at all, especially if you're trying to do the whole test-driven development." You've got tests everywhere and it's like, "well, that's 50 some tests I have to log in. Yippee. I love testing."
Yeah, I can't imagine that's a great experience. So thankfully, with C# Dev Kit, we've actually made the window functional. I know, bare minimum, but I still think it's pretty good. So when you build your test projects, it should be able to recognize everything that you have registered as a test via like a test method attribute or whatever kind of test type that you're using
—Leslie RichardsonSo 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/code-coffee-and-clever-debugging-leslie-richardsons-microsoft-journey-and-the-c-sharp-dev-kit-in-visual-studio-code-with-leslie-richardson/
Useful LinksRemember 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.
This episode of The Modern .NET Show is supported, in part, by NServiceBus, the ultimate tool to build robust and reliable systems that can handle failures gracefully, maintain high availability, and scale to meet growing demand.
Make sure you click the link in the show notes to learn more about NServiceBus.
Show NotesYeah. So what I was thinking the other day is that what we want is to concentrate on the business logic that we need to implement and spend as small as little time as possible configuring, installing and figuring out the tools and libraries that we are using for this specific task. Like our mission is to produce the business logic and we should try to minimize the time that we spend on the tools and libraries that enable us to build the software.
—Giorgi DalakishviliWelcome 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 Giorgi Dalakishvili about Postgresql, DuckDB, and where you might use either of them in your applications. As Giorgi points out, .NET has support for SQL Server baked in, but there's also support for other database technologies too:
Yes, there are many database technologies and just like you, for me, SQL Server was the default go to database for quite a long time because it's from Microsoft. All the frameworks and libraries work with SQL Server out of the box, and have usually better support for SQL Server than for other databases.
But recently I have been diving into Postgresql, which is a free database and I discovered that it has many interesting features and I think that many .NET developers will be quite excited about these features. The are very useful in some very specific scenarios. And it also has a very good support for .NET. Nowadays there is a .NET driver for Postgres, there is a .NET driver for Entity Framework core. So I would say it's not behind SQL server in terms of .NET support or feature wise.
—Giorgi DalakishviliHe also points out that our specialist skill as developers is not to focus on the tools, libraries, and frameworks, but to use what we have in our collective toolboxes to build the business logic that our customers, clients, and users desire of us. And along the way, he drops some knowledge on an essential NuGet package for those of us who are using Entity Framework..
So 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/from-net-to-DuckDB-unleashing-the-database-evolution-with-giorgi-dalakishvili/
Useful LinksRemember 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.
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 LinksRemember 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.
Your feedback is valuable to us. Should you encounter any bugs, glitches, lack of functionality or other problems, please email us on [email protected] or join Moon.FM Telegram Group where you can talk directly to the dev team who are happy to answer any queries.