Math Game


Welcome to .NET MAUI (Multi-platform App UI), the cross-platform framework for creating native mobile and desktop apps. Maybe you’ve heard of previous .NET solutions for native apps (Winforms, WPF, WinUI, Xamarin) and you might be wondering: Why MAUI? MAUI is the evolution from all those previous technologies, it’s the framework that has as an objective to provide a one-stop shop for anything todo with build applications in any device.

Does that mean it’s not worth to learn those? The answer isn’t very simple. If you need to learn WPF for example for a job, then it’s better to be specific and learn that particular technology. Now for the long run it’s better to learn the latest solution. And the good news is that MAUI uses XAML as a mark-up and is commonly implemented with the MVVM (Model-View-ViewModel) design pattern. They’re both also used in WPF, WinUI and Xamarin, which means that the knowledge is easily transferrable amongst them.

But enough talk! Let’s build!


  • This application has only one requirement: You'll build a Math Game with MAUI (and no MVVM) with the help of the tutorial below:


Each video in the tutorial has many links in the description area. Here are some resources you can read before getting started:


  • If you've done any full-stack Web Dev, you'll be surprised with how easy the C# code is to develop a basic MAUI App. Your biggest challenge here will be to learn XAML. Make sure you don't rush through that.
  • Make a checklist of steps for the completion of the tutorial, along with a list of issues you encountered. Once you're done, repeat the project going through the lists.
  • Once you went through the project twice, tweak it with slightly different functionality and style.


  • Try to implement levels of difficulty.
  • Add a timer to track how long the user takes to finish the game.
  • Add a function that let's the user pick the number of questions.
  • Create a 'Random Game' option where the players will be presented with questions from random operations
Log in to mark this article as read and save your progress.
An unhandled error has occurred. Reload 🗙