I’ve been working on a project in the data realm for awhile, and my dev skills were itching to practice. While I could write yet another web app, I wanted to see what my friend Sam Basu talks about – .NET MAUI! .NET Multi-platform App UI is a cross-platform framework to create native apps with C# and XAML.
Someone tweeted recently about this blog post about the .NET MAUI Cloud Skills Challenge. I decided to check it out.
The .NET MAUI Cloud Skills Challenge has been extended through September 30, 2022. It is made up of 7 modules and is estimated to take around 5 hr 45 min. This learning path gave me enough to run with .NET MAUI and create my sample app.
Visual Studio, not Visual Studio Code
I recently got a new laptop and have been working out of Visual Studio Code for most of my projects. (Yes – Java, Python, PHP, Ruby… all out of Visual Studio Code!) I finally had the case where I needed to install Visual Studio – .NET MAUI needs the full IDE. The module does a good job of reminding you what needs to be installed for it to work.
Having been out of Visual Studio for some time, it brought back all sorts of memories. .NET MAUI’s XAML reminded me of my WPF and Silverlight adventures of ages ago. Working in code-behinds reminded me of the sins I committed with ASP.NET WebForms. Being in the full IDE always gets at my Visual Basic core, as there are keyboard shortcuts I used back in the late 90s that are still applicable in Visual Studio 2022. (Oh! And the memories of Windows Phone development and Android development…!) I installed Visual Studio 2022 Community Edition, as I prefer to talk about features in it applicable to everyone. This works fine for the .NET MAUI Microsoft Learn path.
Hyper-V + Mobile Emulators
Once my Visual Studio was set up, I needed to enable Hyper-V on my machine for the Android emulator. Coming from many years of cross-platform adventures, many virtual hosts – Hyper-V, VirtualBox, Wine, I was very much in my element to work with Hyper-V. Having worked with the Android development environment and other mobile emulators for testing web projects over the past decade, it was refreshing to enable Hyper-V and go. The emulators loaded smoothly, without issues.
Also, while poking around Visual Studio, I saw Hot Reload and figured I’d try it out. There’s more than hot reload of .NET code – there’s support for XAML Hot Reload (for WPF and UWP) and .NET MAUI Hot Reload too! I tried changing my XAML in .NET MAUI and watched the emulator update as well. So cool!
.NET MAUI Skills Learned
The learning path helped me get the following skills:
- Applying styles in .NET MAUI
- Incorporating consistent design across multiple pages
- Working with tab and flyout navigation
- Consuming REST services – also reminding me of the practice of checking for device capabilities
- Working with SQLite for local data
Carrying it forward
After going through the learning path, I was able to create a sample app to call out to a local MySQL database. I have some ideas I want to try out next:
- Pawpaw tracking
- Family tree explorer – using Azure Cosmos DB Gremlin API
- Mobile reports dashboard for sensors data
I’m glad I went through the Build mobile and desktop apps with .NET MAUI learning path on Microsoft Learn. I look forward to playing with these technologies further as my time frees up soon!