Today we will build a .NET MAUI application that will display a list of Monkeys from around the world. We will start by building the business logic backend that pulls down json-encoded data from a RESTful endpoint. We will then leverage .NET MAUI Essentials to find the closest monkey to us and also show the monkey on a map. We will also see how to display data in many different ways and then finally fully theme the application.
Hey there! This workshop will be a hands on and a bring your own device workshop. You can develop on PC (Recommended) or Mac and all you will need to do is install Visual Studio 2022 or Visual Studio for Mac 2022 with the .NET MAUI workload.
Follow our simple setup guide to ensure you have Visual Studio 2022 and .NET MAUI setup and ready to deploy.
Before the conference I recommend going through the quick 10 minute .NET MAUI Tutorial that will guide you through installation and also ensuring everything is configured correct.
If you are new to mobile development, we recommend deploying to a physical Android device which can be setup in just a few steps. If you don't have a device, don't worry as you can setup an Android emulator with hardware acceleration. If you don't have time to set this up ahead of time, don't worry as we are here to help during the workshop.
Beyond that you will be good to go for the workshop!
I have also put together an abstract of what you can expect for the day long workshop:
- Part 0 - 30 Min Session - Introduction to .NET MAUI Session & Setup Help
- Part 1 - Single Page List of Data
- Part 2 - MVVM & Data Binding
- Part 3 - Navigation
- Part 4 - Implementing Platform Features
- Part 5 - CollectionView & Beyond
- Part 6 - Theming the app
To get started open the Part 1 - Displaying Data
folder and open MonkeyFinder.sln
. You can use this throughout the workshop. Each part has a README file with directions for that part. If you came in late, you can open any of the folders and there is a starting project for that section.
If you have any questions please reach out to me on Twitter @JamesMontemagno.