Learning .NET MAUI
Development • 07 March 2023
Near the tail end of 2022 I spent time doing nothing but play video games and traveling a bit. I’d just released my first (potentially only) game on Steam in June 2022 and the last thing I wanted to do at the time was look at another IDE. I’d dabbled in creating a .NET Core cross-platform system scanner but eventually lost any will to complete it, hence nothing has been done to it since July.
After not touching anything for a while, I recently started it again and realized that although I wanted to create something again, I didn’t want to touch that project yet. So I started looking into new things that Microsoft had brought out recently and came across .NET MAUI – a cross-platform framework for building native mobile (and desktop) apps within C# and XAML.
I wanted to start somewhere simple to prevent myself getting burned out immediately because I decided to build the next Snapchat or TikTok like the silly billy I am. I learned during this that no matter how simple the application you are making is, doing cross-platform for Windows, iOS, and Android however perfect the framework – is going to be a pain in the ass. Accordingly, I scrapped the iOS app for my starter project and stuck with Android and Windows only.
The simplest application I could think of at the time was a non-persistent To Do app that let you track things that you need to complete in the future without putting a due data on it – because I hate due dates. It allowed me to add tasks, update them, mark them as complete and used native system specific gestures to allow quick deletion on right swipe.
It doesn’t look pretty nor was I aiming for it at the time. I purely wanted the functionality of the application to work so I could use what I learned in the app I want to make. It uses the MVVM Community Toolkit which if you are using .NET MAUI, .NET Core – whatever – I highly recommend using it because it is without a doubt the easiest to use MVVM package I’ve ever used in my life.
Obviously non-persistent apps have their purpose in the world but anything I make in the future I am going to want to save the data somewhere, whether that is a server somewhere in the cloud or to a local device. I started working on that immediately after which turned out to be a horrendous task as the documentation for SQLite on cross-platform applications still doesn’t exist for .NET MAUI, or at least substantial in-depth documentation. I got it working though. 😊
What next? I’m currently working on an idea that I’ve had for about 5 years that I’ve never been able to execute because the pre-existing cross-platform frameworks haven’t suited my needs, or I’ve not had time to learn them. I previously started learning Swift UI and quickly realized that although functional, the absolute grasp that Apple has on it’s developers (which also causes issues with .NET MAUI sadly) isn’t worth the time or money to learn Swift UI – even if .NET MAUI has it’s own flaws.
I don’t know when my app will come out or if I’ll even ever finish it. It could very easily end up in the archive of started but never finished ideas, but we’ll see.
Song Recommendation: BEXEY - Laugh Later Cry Now