Imagine this: the year is 2022. The world has still not recovered from witnessing England’s dominance at the UEFA European Championship, and people across the nation look on with anticipation as their country have now reached the year’s World Cup final in Qatar. The producers of Made In Chelsea have finally come to their senses and have cancelled their show, for they have realised that the program was indeed actively killing its viewers’ brain cells. And, more interestingly, app developers across the globe are rejoicing, for they have been handed a shiny new power-tool from the developers at Microsoft, which helps them slash development time and improve the quality of their work.
Whilst I would wish for all three of these fantasies to come true (and indeed I can only pray that Made In Chelsea will one day be taken off-air), the only dream that can be guaranteed is the latter. The brand-new .NET Multi-platform App UI (abbreviated as MAUI and pronounced as ‘Mauh-ee’) is due to be released for general availability this coming November, and I’m here to take a look at its features and explain its importance for both businesses and developers.
Introduction – what is MAUI?
Let’s take a step back briefly to remind ourselves of the bigger picture of cross-platform development toolkits. Xamarin, MAUI’s older brother, is a well-established framework for delivering cross-platform software solutions across multiple devices. First released in 2013, and later acquired by Microsoft in 2016, it allows developers to create software solutions for Android, iOS, tvOS, watchOS, and macOS. Crucially, Xamarin compiles down into ‘native code’, i.e. code which communicates directly to the operating system of the device on which it is running, unlike “wrapper” solutions such as PhoneGap which work by “wrapping up” HTML5 web applications in the skeleton of a mobile application. Native communication is essential for reaping the benefits of your device’s embedded services, such as the use of device sensors, photos, contacts, location services, Google/Apple Pay, and so on.
As summarised by my esteemed colleague’s recent article concerning Microsoft’s support lifecycles (https://www.softwaresolved.com/blog/microsoft-technology-vendor-support-lifecycles/), .NET 6 is soon on the horizon, and with that, Xamarin will soon be merged into MAUI, bringing new and exciting innovations.
For techies – Features of MAUI
Here are three reasons why app developers should be pumped for the general availability of MAUI.
Unified project experience
One of the features I am most excited for with MAUI is the utopian singular development project experience. Any Xamarin developers out there will understand the frustration of having to maintain three separate projects, just for the sake of having a bunch of images and fonts. With MAUI, this becomes unified into just one project, which means less time wasted on trivial tasks of importing images into folders, and more time having my head buried in code.
Support for ‘Hot Reloads’
No, a ‘Hot Reload’ is not what you get by using the drive-through at your McDonald’s. A ‘Hot Reload’ allows developers to shave time by being able to modify their UI, or the underpinning ‘back-end code’ without having to recompile and re-deploy their applications. So much of my time has been wasted by sitting and waiting for my code to compile, only for me to later find that my positioning of elements within a screen still isn’t right. Complete support for Hot Reloads in MAUI for both XAML (User Interface) and .NET is exciting and will massively reduce the amount of wasted time spent in the development phase.
Performance can be a critical quality issue, with start-up times and UI responsiveness being ‘make or break’ factors when it comes down to an app’s success. Not only does removing the dependency of Xamarin on .NET (remember, MAUI IS .NET!) help smooth performance pinch-points, there are a number of other features such as start-up tracing and so-called ‘fast-renderers’ which will please developers and decision-makers alike.
For decision-makers: what do you need to know?
It is clear to see that MAUI is going to be the future of app development. What are the crucial things you are going to need to know today?
Migrating to MAUI from Xamarin is painless
If you are at the beginning of a mobile application’s lifecycle, Xamarin is still the right choice of framework to employ now. The migration to MAUI is painless and is quite literally achieved at the ease of a few clicks.
MAUI will slash development time
With MAUI, there will be a lot less time spent “sitting around” waiting for things to happen. This means that your developers will be spending time doing what they do best: coding, as opposed to waiting for processes to complete in the background.
MAUI is familiar for developers
Amazingly, the learning curve of the new mobile toolkit is subtle. Any Xamarin developer should be able to pick up the new toolkit on day one. For developers new to Xamarin/MAUI, it is reassuring to know that .NET is well supported by a fantastic amount of documentation and an active online community.
It is really exciting to know that Microsoft are investing a lot of time and effort in creating this new framework, and even more exciting to be given the chance to have played with their new toys before their general release. MAUI is currently in ‘Preview’, which allows developers to have a sneak peek at what’s to come. For any developers out there, I’d highly recommend having a play in Microsoft’s sandpit, and for decision-makers, I’d highly recommend keeping an eye on this flashy tech.