S06E17 59mSeason 6

Episode Summary
In the world of app development, having a cross-platform framework that simplifies the process of building applications for multiple devices is a game-changer .NET MAUI (Multi-platform App UI) emerges as a powerful solution, enabling developers to write a single codebase that runs seamlessly on various client devices such as Android, iOS, macOS, and Windows. In this article, we delve into the key features, insights, and experiences shared in an episode of “The Modern .NET Show” podcast to uncover the potential and growth of .NET MAUI.
Maddy Montaquila, this episode’s guest, highlights that .NET MAUI offers a robust framework for client app development, encompassing web, ASP.NET Blazor, console apps, and more. With its integration of XAML and C#, developers gain the flexibility of choice, allowing them to build their UI, business logic, and endpoint management in a single codebase. The evolution of .NET MAUI from Xamarin brings the power of Xamarin’s mobile-focused approach to a broader scope, encompassing mobile and desktop platforms.
This episode also sheds light on the .NET MAUI extension for Visual Studio Code (VS Code). This extension allows developers to work on mobile and desktop applications for various platforms. VS Code’s C# extension provides analysers and code completion for streamlined C# development. Additionally, the .NET MAUI extension in VS Code simplifies deployment to local machines, devices, and emulators across multiple platforms.
Transitioning from Xamarin to .NET MAUI is a fairly straightforward process. Microsoft provides the .NET Upgrade Assistant in Visual Studio to aid developers in the migration process. While the tool automates many tasks, developers may need to address namespace changes, update project files to the modern CSProj format, and manually resolve any errors that arise. Despite these considerations, the transition is smooth, ensuring that existing Xamarin customers can seamlessly move to .NET MAUI.
To demonstrate the power and versatility of .NET MAUI, Montaquila highlights real-world examples such as the migration of Bitwarden, a password manager app, from Xamarin to MAUI. Bitwarden’s open-source GitHub repository showcases the app’s robust backend and secure password storage. The migration to .NET MAUI demonstrates the framework’s ability to handle complex, secure applications with ease.
The emergence of .NET MAUI as a robust cross-platform framework has revolutionized the app development landscape. Offering a unified approach to building applications for Android, iOS, macOS, and Windows, .NET MAUI’s growth and adoption among developers are evident. With its seamless integration with Visual Studio and its own extension for VS Code, developers can leverage a comprehensive suite of tools to streamline their development process. As the framework continues to evolve, .NET MAUI holds immense potential for creating transformative and efficient app experiences across multiple platforms.
Episode Transcription
On Apple Podcasts
Just a quick note for those of you are iOS users (around 40% of the community of listeners):
When iOS 17.4 drops, you'll be able to read transcriptions for the show in Apple Podcasts. Problem is, I have no way to test whether these transcripts are correct or not, and given the technical nature of the show (and my own experience of creating the transcripts for the website) I doubt that they'll be correct.
I'm working with the podcast hosting company that I use for the show to figure out the best way to provide in-app transcripts, but until then I can't guarantee the quality of the Apple provided transcripts.
The best place for a transcription will always be the show's website, and there will be a link to this episode's transcript in the 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.
Jamie
Maddy
Jamie
So, yeah, Maddie, for, you know, some of the people may not know who Maddie is. What Maddie walks on. I was wondering, could you give us a bit of like an elevator pitch or a short introduction to the kind of stuff that you do over at Microsoft?
Maddy
So I’m on the .NET MAUI team and so it’s awesome because we’re part of .NET, but we’re really focused on the mobile and desktop cross platform technology. MAUI stands for Multi-platfom App UI. Even though it is more than Ui. It’s also kind of native APIs under the hood and a whole bunch of stuff. But I’ve been on the team for five and a half—I’m coming up to six years, which is crazy. I started off fresh out of college and I was not a .NET developer and I thought that I was like .NET sounds cool. That sounds fun. And I’ve stuck it out since and I really love it and I can’t imagine being on any other team now. So yeah, it’s been a journey for sure.
Jamie
Maddy
Jamie
Maddy
Jamie
Cool. Okay, so you’ve got a varied experience with all the .NET things started with .NET and stuff like that. So you mentioned .NET MAUI, and you said the lovely acronym and stuff, but you said it’s more than just UI. So I guess just to set sort of the base level, what is .NET MAUI?
Maddy
So you have the web, you have ASP .NET Blazor and all that stuff. You have the console apps, you can write with C
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 to target all those different native mobile and desktop platforms. And so it’s about, is it 18 months? Is it more than that? We shipped as an evolution of something called Xamarin, which was really focused on mobile only, but we rolled it properly into .NET with the runtime and the base class library and all those things.
And then we shipped it in May of 2022. So yeah, a little bit more than 18 months. We’re coming on two years and we’ve seen like explosive growth and everything. So we’re really happy with show it’s going so far. Definitely a lot of work to do still, but now that it’s been out in the world for over a year, it is really starting to get its kind of footing and we’re seeing a lot of customers pick it up for the first time and really enjoy using it. So it’s exciting.
Jamie
Maddy
Jamie
Maddy
Jamie
Okay, cool. So there’s a whole bunch of stuff that you said there, but I just want to pick up on one thing that some other developers may know of, and that is Xamarin. It was kind of a big deal. So then you said it’s an evolution of Xamarin, right? So obviously that implies to me it’s continuing the life or the setup that Xamarin would give me. Right. So does that mean that Xamarin is going away?
Maddy
It’s basically like Xamarin next version. In most cases, there are some changes, but the history lesson, the quick history lesson is Xamarin was a separate company that shipped an open source version of .NET called Mono, and they were acquired by Microsoft after .NET became open source. And so the Mono team and the .NET team over the past eight years or so, I believe. Yeah, eight. 2016. Started to meld more and more. And then they decided instead of shipping two completely separate runtimes, one focused on mobile, which was Mono, and webassembly is the other thing that Mono was really big for. And then the other, of course, focused on web and backends. Why don’t we consolidate it and make it all .NET and bring in the specialized, the good parts of mono into .NET properly and only have differences where it makes sense?
And so under the hood, .NET was merging together, and we had Xamarin, which was the mobile technology to target Android and iOS, and UWP, Windows Phone, which people were using for desktop, although we never really paid attention to desktop. And we decided that would be a good time for us to roll that mobile brand fully into .NET, which is when we came up with MAUI. And so because we changed our name, we were totally allowed to break things.
I’m just kidding. That’s not how it works.
But we did make some breaking changes. We changed the namespace, so it’s no longer using Xamarin forms, it’s using
Microsoft.Maui. And we got rid of some old kind of hacky skeletons in the closet we had done when Xamarin forms, which was the cross platform UI layer of Xamarin, was created in 2014/15. And we refreshed all of that with MAUI, too.So there are some changes you have to do. We have tooling to do a lot of the repetitive stuff, but for most of our customers, if you are on Xamarin or Xamarin forums, upgrading to MAUI is fairly straightforward at this point. For a long time, it was mostly like, "the libraries I use, or like the NuGete packages I have aren’t ready," and so you had to wait for that. But now we’ve seen the momentum pick up quite a bit, so yeah.
And then if you were a Xamarin customer and you don’t want to do cross platform UI, we just don’t call it something different any more. It’s just .NET for iOS and .NET for Android. So you can still totally write native iOS UI separately from your native Android UI and use C Sharp as your backend or your business logic for that application. But it’s just .NET. So MAUI is the cross platform layer for mobile and desktop for UI and also device specific stuff.
Jamie
Maddy
So the upgrade assistant does like a best guess. And then basically what we see people do is they hit F5 to run the app. And then there’s usually a pretty descriptive error that pops up that’s like, "hey, you can’t do this thing," or like, "this thing doesn’t make sense." And then you can either figure that out, or Google it, or whatever it is and kind of hack your way through it that way. We have seen that if you do a File > New > Xamarin app and you upgrade it straight up, that does work. So at least that scenario is covered. But most people are not File > New, I’ll say.
Jamie
Maddy
Jamie
It doesn’t actually say doofus, obviously, but that’s really useful to me.
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
So we talked a little bit about Visual Studio there. What about if I’m one of these folks who’s doing everything in Visual Studio Code? Is that a thing that I can do?
Maddy
Over the northern hemisphere summer we shipped an extension for .NET MAUI development in VS Code, and we also shipped that alongside or as part of or along with the C# Dev Kit and updated C Sharp extensions.
So C Sharp, the C Sharp extension just gives you Roslyn based analyzers and completion and whatever for C Sharp. IOt’s the same thing as if you installed like a Javascript extension that just does syntax completion and all that stuff. It’s awesome. It’s super powerful. VS Code with just, that is honestly great. But what we did with C# Dev Kit is we made VS Code aware of the Visual Studio project system so you can actually open, like I was talking about, those csproj files so it understands what that is now and it’s able to open things in a solution and project structure instead of just a bunch of folders, which is how VS Code usually handles things.
And then on top of that we built the MAUI extension, which gives the ability to do deployment to your local machine or any kind of device or emulator you have on your machine. So if you’re on a Mac you can do anything that XCode supports, you can install Android, you can plug in your phone, or you can do it locally to the Mac. If you’re on Windows, you can do the Windows machine locally or Android emulators. And if you plug a device in. And then if you’re on Linux you can actually do Android development through either emulators or a device too, which has been really fun because we previously had no way to develop on Linux. So it’s been cool to see people being able to do their Android development with VS Code on Linux.
And it’s still in preview as of the time of recording. We’ll probably be flipping it over to not preview at some point soon. But the VS Code is very different than Visual Studio and how they do things. It’s been a fun learning experience for the team and so preview doesn’t mean as much. It’s just a button we turn off at some point. And so we have a bunch of features we’re working on adding, but so far I’ve been using it primarily on my Mac. I have not opened an IDE of any sort on my Mac since we shipped this extension and it is pretty good. So I’m enjoying it. It’s fast, it’s lightweight. I used to be like a Linux command line only person, so I feel like I’m getting back into that, which is fun, but yeah.
Jamie
Maddy
Jamie
Maddy
Jamie
And I totally understand that, obviously there are only so many engineers, but knowing that there’s now a part of the product that I can use on my desktop where it’s not as powerful as my M2, but it’s pretty powerful. So I’m like, "oh cool, I could do my .NET MAUI stuff here too."
Maddy
Jamie
Okay, so let’s say, before we start talking about how I could develop for an Android phone or an iOS or whatever. What can I use .NET MAUI for? I think you did answer this one, but obviously because we’re so information dense because listeners, that’s what it’s like when talking to Maddy. She’s brilliant. But you get like all the things all at once.
Maddy
Yeah, so it is mobile and desktop, Android, iOS, macOS and Windows. We don’t have Linux desktop support right now, mostly because, and you probably know because you’re a Linux user, there are about 8 million ways to build Linux UIs. And for us to pick one would probably be a lot of breaking the people’s hearts. But we’re looking at what the best way to do that is, whether we ship our own thing, or if we can rely on web or a web view. So Linux is not totally out of the question. It’s just not there right now.
But the succinct answer is Windows, MacOS, iOS and Android. And you can probably hear my dog shredding a paper bag in the background. But hopefully not because. Sorry Mark. Sorry, Producer Mark. Because his favourite toy is a plastic bag. He has about a million stuffed toys, but an Amazon box or like a paper bag is his favourite.
Jamie
Sponsor Message
Do you have a WPF application and want to take it to macOS or Linux? Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility.
With a few tweaks to your project file, your WPF app and all its dependencies are ready for testing on new platforms.
Start your app transformation journey with a 30-day free trial.
Head over to http://avaloniaui.net/themoderndotnetshow to get started today.
Jamie
Maddy
Jamie
Maddy
Jamie
dotnet new, I guess dotnet new maui or whatever the command line is. It’s been a long time, and you hit debug. It goes through XCode, it comes out in the simulator. Or if I’ve got an iPhone plugged in, it appears on my iPhone.Am I debugging at the same time? So like I’m running my app, I’ve got the VS Code with .NET MAUI extension. I’ve set up a breakpoint on some view or some action, I push the button. Will it break as well? Or am I doing something else? Adding some other tool into the tool chain to allow me to debug?
Maddy
Jamie
Maddy
So what you can do with Visual Studio is pair over your local network to whatever Mac machine you have, and it will use all the XCode stuff from that Mac to build locally on Windows. If you want to build onto an iPhone without having a Mac in the loop, you can plug your iPhone in and use something called hot restart. So it’s kind of limited. It’s basically like running the app, your app, your code inside of an app package. So only locally, only during debug. Right. It’s not something you could ever push to the store like that, but it does get you a lot of the way there. And we see a lot of people use it if they’re just doing like, UI design or basic kind of functionality just to test it, and then they give it to whoever on their team or whatever has the Mac and they double check everything else.
So we do have a lot of flexibility with that, which is nice.
Jamie
Maddy
Jamie
Maddy
Jamie
Maddy
So you have to turn it on. But once it’s on, it’s on for your computer, it remembers it, and so it’s a one time thing at least.
Jamie
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
Have I lost you, Maddy?
Maddy
Jamie
Maddy
Jamie
Maddy
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.
We have an example app on one of my colleagues, David Ortinau’s GitHub, and I think it’s also in the MAUI samples repo right now, but it’s like a food ordering app. So the mobile app would be for the customer to go, excuse me; for the waitress or waiter to go and add things to that customer’s cart. And then there’s like the tablet or desktop version that would be for your point of sale where you can check everything out and see what orders are there.
So it’s a really cool example of what I was just saying. That paradigm of like having two completely different navigation stacks in the same code base.
Jamie
Am I styling things differently for every stack, or if I say, "draw me a button," and I go to run it on iOS, it’s going to draw me an iOS like button. And when I go to Android it’s going to draw me an iOS like button? Or do I need to say if Android style it like this? If iOS style it like this? Am I using the native components for that?
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
Maddy
So we use XAML to describe your UI. It’s a markup language. But if you want to just avoid XAML altogether, you don’t even have to do the .xaml.cs, yYou can just have pure C Sharp files as your UI. We have a lot of customers doing that. The built in C Sharp UI syntax, I guess, is very verbose, but we have something in the community toolkit called C Sharp for markup.
Editor’s note: This is actually called Maui.Markup
Maddy
Jamie
How do I sort of architect my app then? So I know. Again, leading question, right? I know that MVVM is a thing for those who don’t know, that’s model-view-viewmodel. So do I need to use that? Or can I use something a little bit more MVC ish? Or can I just wire up everything inside of the code behind, say like win forms? How does all that work?
Maddy
And that’s what we generally recommend. That’s what most of our documentation is written with. Right, assuming you’re using some form of a view model and that code behind pattern. But we have people writing all sorts of apps. I mean, half the apps I write do not use, "blessed MVVM," I use like, "pseudo MVVM." Whenever I feel like it, I do it right. And then when I don’t, I don’t.
You can be super flexible. And again, like ReactiveUI UI is a really popular third party package. That is a different style of architecture. We have some experiments. Like one that has gained a lot of traction is Comet, which is using MAUI under the hood, but it’s a model-view-update (MVU) style architecture for writing your mobile app. So just a completely different way to think about it. And so, yeah, it’s really whatever you want.
And I think, I’m sure you’ll have a question about this. So I’ll pre-empt it. One thing that we’ve seen a lot of customers doing is just using Blazor to write their MAUI UI. And so you can basically plop your Blazor app, right in a MAUI app. And it will run natively on the desktop or on the mobile phone, in the webview, the native web view. So WebView2, I believe, on Windows and whatever it is on Mac and on the phone.
Jamie
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
So then, okay, right, so we talked about Visual Studio. We talked about Visual Studio code and we talked about the .NET MAUI extension for Visual Studio code. Is that literally all I need to install? So I know that in the early stage, I don’t know if it’s the same thing, but in the early stages of .NET MAUI I had to do like on the command line
dotnet install payload or workload, sorry, windows workload, macOS, things like that. Do I still need to do that in order to build?Maddy
Using VS Code. So on Mac or Windows if you want to or Linux, you install the extension and then you have to do
dotnet workload install maui. But that will pull in all of the .NET related native bits, and then you can install the native tool chains for what you want to develop on.So almost every developer on Mac will have XCode. So XCode is required for the iOS and macOS stuff. So you can just install XCode, you have to open it once and then VS Code will pick up that it exists and let you start using those build tools.
For Android you have to install OpenJDK and then you have to install some of the Android build tools. But again we have like docs that walk you through it. You can do it all through the command line if you prefer. You can also install Android studio and use their tooling to manage your SDK and emulator on the Android side if you want.
There’s plenty of options there, but you do have to have the native tool chain for whatever app type you’re building. On Windows. If you just want to target Windows, all you have to do is install MAUI because .NET is obviously running locally and the Windows build chain is built into Windows.
Jamie
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
And then obviously I’m just going to ask this one. You and I both know the answer to this one. A listener may not, I’m not trying to point out anything to listeners or anything like that, but obviously: the .NET MAUI tooling is not there—its goal is not to sign a package ready to be released. Right. A developer will have to bring their own whatever signature thing required for iOS or Android or maybe for the Windows store. Right. There’s an extra step required, right. You’ve got your thing, you can deploy your deployable, I guess to, you’ve got that, but that still needs to be signed before it can be put onto the relevant marketplaces, right?
Maddy
Jamie
And that’s outside of obviously because .NET MAUI is like, "let’s build your app so that it runs." It’s not, "let’s build your app so we can get it on the marketplace," which is fair enough.
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
I think you’ve mentioned a few already. You mentioned how David Ortinau has some stuff in his GitHub repo and there’s some samples and stuff. Do you know of any particularly cool-to-you example apps, or maybe open source apps that people can be like, "hey, I’ve heard this .NET MAUI thing is really cool. I’m going to go download this source code and read how this app uses it." Do you know of any?
Maddy
My favourite example is Bitwarden. They’re just finishing up their MAUI migration now and so it’s in a branch still. But Bitwarden is a password manager, so it goes in your browser on your phone. And the mobile app is built with MAUI, built with Xamarin and they’re migrating it to MAUI. So it’s almost there. And they do a ton of stuff. I use it personally, I used it before I realized they were using Xamarin. So it was very exciting when I found out. But they’re fully open source and they have obviously like a huge backend, very secure backend where they store your passwords and that’s in a repo, that’s open source on their GitHub and then the mobile app and the MAUI updates and all of that is also open source on their GitHub. So I point people to that all the time for like a real world, chunky, important secure application if you want to look at that/
Jamie
I do know that Cliff Agius, his previous version of his IoT hand project, I think he calls it handy, I’m maybe misremembering that, used Xamarin. So maybe, I don’t know. I haven’t talked to him in a while. Maybe he’s already upgraded or maybe there is an upgrade to get it to run on MAUI. Who knows? Maybe he just doesn’t want to do that because it doesn’t fit. I don’t know.
But I also know that there’s the .NET Podcasts app that was announced a while back because I remember, I think it was not the most recent .NET Conf, the one beforehand. And I was watching it live and I was in the chat and it was like, "oh, there’s this .NET podcasts app. It has all the .NET podcasts." I was like, "no, you’re missing one and it’s fine." Somebody pushed an update live that put this one in there. So I was like, "that’s pretty cool."
Maddy
Jamie
Maddy
Jamie
All right then what about getting started then? In the user stories. right, the previous question was, "I am a .NET developer who knows about .NET MAUI and is doing some stuff."l But in the other one, in the other user story, "I am a .NET developer who has never used .NET MAUI." Where am I going to learn a little bit more about .NET MAUI?
Maddy
Folks on our team that create content a lot. James Montamagno is very popular. Gerald Versluis is very popular as well. And then there’s a ton of people in the community also pumping out MAUI content. Plenty of videos, plenty of blogs if you’re not a video person. So lots of options. Yeah.
But learn.microsoft.com is going to be your place to start with anything, really, with .NET, including MAUI.
Jamie
Maddy
Jamie
I’m like, "where did you learn that?"
"It’s the next video by James."
"Oh, right. Okay. I’ve only seen the first three or whatever," so that’s pretty cool.
Maddy
Jamie
So what about if someone’s listening through this and is like, "I got a question, maybe Maddy’s the person to ask." Is there a way to maybe connect with you and ask that question? Or is it just, "hey, go to the .NET account on your social media platform of choice and it’s there." Are you open to that? If somebody has a, "I have a question and it’s a genuine question about .NET MAUI and I don’t know where to get started." Can you help?
Maddy
And then you’re welcome to send me an email. maddy@microsoft.com I get a bajillion emails, so if I miss it, just keep emailing me. At some point I will probably see it. And then there’s also a great community for MAUI on Twitter and on YouTube—or sorry, on X as we call it now—and on what’s the other one? Mastodon and Threads. So if you tag things, you know #dotnetMAUI, or like #netMAUI, or you tag me, or Gerald Versluis or various other people on the .NET team, usually someone will see it, or someone in the community will see it and be able to help you out there.
I have been trying to not let my Twitter and social media feeds be all work because then when I’m just trying to relax, it’s also all work. So I’m not great at responding there personally, but I see a lot of people ask questions there, and get very involved with that social media interaction stuff. So that’s also a safe place.
And then if you’re a library maintainer or you have some really deep questions on MAUI, I don’t know, like complicated, not really getting started questions, but more like, "hey, I’m doing this niche weird thing." There’s also a discord server that you are welcome to join and a lot of the folks from the MAUI team and the community are on there and can probably help you out or at least point you in the right direction there too.
Jamie
So lots and lots of different ways and folks who are listening in, I’ll get all of that written down, I’ll do some searching to get the URLs and I’ll put those all in the show notes so you don’t have to worry about, "what was it that Maddy said? How do I get in touch?" It’s all in the show notes, folks. That’s the thing I do for you.
Maddy
Jamie
Maddy
Jamie
Maddy
Jamie
Well, yeah. Thank you very much, Maddy, and I really appreciate it. I appreciate you spending some time with us today to figure out all of this stuff. There’s also the .NET MAUI GitHub repo as well, isn’t there? So people have got to, maybe they’ve encountered a bug specifically with .NET MAUI. And the think maybe they’re thinking, "this is actually a .NET MAUI problem. Here’s the situation I was in and here are what I expected and here’s what actually happened." They can report that there, right?
Maddy
Jamie
Maddy
Wrapping Up
Thank you for listening to this episode of The Modern .NET Show with me, Jamie Taylor. I’d like to thank this episode’s guest, Maddy Montaquila, for graciously sharing her time, expertise, and knowledge.
Be sure to check out the show notes for a bunch of links to some of the stuff that we covered, and full transcription of the interview. The show notes, as always, can be found at the podcast's website, and there will be a link directly to them in your podcatcher.
And don’t forget to spread the word, leave a rating or review on your podcatcher of choice - head over to dotnetcore.show/review for ways to do that - reach out via our contact page, or join our discord server at dotnetcore.show/discord - all of which are linked in the show notes.
But above all, I hope you have a fantastic rest of your day, and I hope that I’ll see you again, next time for more .NET goodness.
I will see you again real soon. See you later folks.
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 maddy@microsoft.com
- .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