.NET MAUI: Navigating the Cross-Platform Code Seas with Maddy Montaquila
Release Date: 05/03/2024
The Modern .NET Show
Strategic Technology Consultation Services This episode of The Modern .NET Show is supported, in part, by . If you're an SME (Small to Medium Enterprise) leader wondering why your technology investments aren't delivering, or you're facing critical decisions about AI, modernization, or team productivity, let's talk. Show Notes "From the first engagement with any from Umbraco, it's been a friendly approach. We are friendly. It's a part of our DNA. Professional. We take our work dead seriously, but we want to have fun, but we are friendly."— Mats Persson Hey everyone, and welcome back to The...
info_outlineThe Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "So the cloud adoption framework actually has a lot of steps for organizations or IT teams to start assessing their existing environments first and planning the stage before they modernise and migrate to Azure. And then the well-architected framework allows the team, whoever is involved, developers, engineers, or architects,...
info_outlineThe Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "Yeah, exactly. In fact, one of the central premises of Dapr has, you know, one of its goals is not only to be multi-language, in that anyone can use the APIs from any language they come from. So it has SDKs. First, you can call it HTTP if that's all you care about. But it has SDKs for Java, JavaScript, of course, .NET, Python,...
info_outlineThe Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "If your app has a backend, it's Aspire-able. And so it's tools, templates, and packages for really any type of app… So just being able to walk up to a repo, clone it, and hit F5. When was the last time we were able to do that? Like, ten years ago, maybe?"— Maddy Montaquila Welcome friends to The Modern .NET Show; the premier...
info_outlineThe Modern .NET Show
DotConnect and Entity Developer and boost .NET development with high-performance ADO .NET providers and visual ORM builder. Try a 30-day free trial now! Show Notes "I remember I had the entire life cycle of the web forms printed on a wall. It was like six sheets of paper and it was very complex, and it was very useful to have it on the wall because, like, you could always look at it and say, "okay, this is going on before this one." So you have to like switch the order of things. But that's exactly what I call interesting"— Tomáš Herceg Welcome friends to The Modern .NET Show; the...
info_outlineThe Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "When you program for the NES you deeply need to understand the hardware, right. And that's not a thing; like as a .NET developer you don't really know what a register is, or like or a bus, or like NES has a thing called a PPU"— Jonathan Peppers Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing...
info_outlineThe Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "So on my side it was actually, the interesting experience was that I kind of used it one way, because it was mainly about reading the Python code, the JavaScript code, and, let’s say like, the Go implementations, trying to understand what are the concepts, what are the ways about how it has been implemented by the different...
info_outlineThe Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "So I've been focused on the code to cloud journey, I like to call it, for the template. And two years ago, my goal was to provide a solution that could take you from code to cloud in 45 minutes or less. So I wanted it to be "file new project" to deploy a solution on Azure—because that's where my main focus is—within 45...
info_outlineThe Modern .NET Show
Show Notes "If you talk to people that have been doing Terraform for many years, they're going to tell you that, "Terraform is the law and Terraform is the way to go." But like you said, there's different tools, I would say, or languages that you can use for infrastructure as code. And it really depends what you want to do, what your developers are used to or are comfortable with and what works with your organization as it should be with any tool in software development. You got to grab the one or use the one that is more appropriate for your use case, your scenario, your organization"— Sam...
info_outlineThe Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by , whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "And I think this is really the key factor in software development. I think it's really to keep complexity low, because in most projects, unless you are writing an operating system, a framework or rocket navigation you are not coding against hardware; like the hardware is not your bottleneck. You are coding against human brains,...
info_outlineAvalonia XPF
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
Yeah, 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
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, 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.
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 Show
If 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 Notes
The 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 Links
- .NET Upgrade Assistant
- .NET MAUI VS Code extension
- C# Dev Kit
- David Ortinau's GitHub
- MAUI samples repo
- UIKit
- Mac Catalyst
- Maui.Markup
- ReactiveUI
- MVVM
- OpenJDK
- .NET MAUI documentation
- Android Studio
- aka.ms/mauidevkit-docs
- Bitwarden
- Cliff Agius
- Handy-App
- .NET Podcasts app
- eshop-mobile-client
- learn.microsoft.com
- James Montamagno
- Gerald Versluis
- You can email Maddy at [email protected]
- .NET MAUI on Twitter
- The official .NET discord server
- .NET MAUI GitHub repo
- 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.