.NET MAUI
Master of All User Interfaces
.NET MAUI is a Microsoft framework that allows you to build cross platform applications for mobile and desktop using a single, reusable code base. First released in May 2022, .NET MAUI supports development for Android, iOS, Windows and macOS, streamlining the process of creating applications that work across multiple platforms. Ideal if you're targeting a broad range of users. Because it’s part of the .NET ecosystem, you get all the benefits of familiar technologies like Visual Studio and C# making development faster, more consistent and indeed - less headache inducing.
Whilst .NET MAUI offers many of the same features and functionality as it's unofficial predecessor - Xamarin - which you can view here, there are some key differences. Here, we take a look at some of the core characteristics that make up .NET MAUI:
As alluded to above, .NET MAUI gives you the ability to create applications for multiple platforms including Android, iOS, Windows and macOS from a single code base. This single structure approach can greatly reduce the time of the development cycle which in turn, can provide you with both cost and time savings.
.NET MAUI lets you build apps that feel native on any device whether it’s a phone, tablet or desktop all whilst keeping most of your work in one place. Your apps can tap into features like location, file access and device sensors so they perform effortlessly and consistently across Android, iOS, Windows and macOS
.NET MAUI comes with a host of tools solely designed to make app development faster and smoother and your dev teams lives easier. Changes you make to your app can be seen instantly without restarting and testing across devices is simplified in one unified environment. This allows your team deliver apps more efficiently, reduce errors and keep everything running as it should across multiple platforms.
Resource management in .NET MAUI is rather straight forward due to the centralisation of styles, themes, fonts, images and icons for cross platform use. This means you only need to define these resources once and can then be apply them across all of your target platforms which again, can save you a lot in time and cash. If needed, platform specific resources can also be added and .NET MAUI automatically optimises and scales assets including images and icons to fit the requirements you have for each individual platform.
As part of the Microsoft .NET ecosystem and tightly integrated with Visual Studio, .NET MAUI works alongside the wider .NET family of libraries and tools. This means you can take full advantage of proven libraries including Entity Framework Core for data access or SignalR for real time comms when building your applications.
Whilst still evolving, .NET MAUI offers several promising use cases particularly if you're seeking unified development across mobile and desktop platforms. It's cross platform capabilities and native integration with the wider .NET ecosystem position it as a practical and effective option in the following scenarios:
If you’re building internal systems for your staff such as operational software or field service apps, .NET MAUI is usually a great fit especially if your team needs them to work on both mobiles and desktops. One codebase, four platforms (Android, iOS, Windows and macOS).
And because it's part the Microsoft ecosystem, you can be sure it will integrate with the Microsoft tech you already use including SQL Server, Azure or existing .NET systems. That means you can continue to use what you’ve already invested in, speed up the development process and only need to invest in .NET expertise for ongoing maintenance and support rather than a mix of technology skill sets.
If you’re still reliant on older apps built with the likes of Xamarin.Forms or other .NET technologies, .NET MAUI offers a logical upgrade path. It lets you refresh the look and user experience of your apps without ripping out and rebuilding all the business logic and back end systems underneath.
In simple terms - you get a modern, shiny app that works on today’s devices without throwing away the investment you’ve already made. This is a cost and time effective way to give your legacy software a new lease of life.
.NET MAUI also supports something called Blazor Hybrid which essentially means you can wrap parts of your existing web applications inside a native mobile or desktop app. If you’ve already invested in web app development, this is great news as you can reuse what you’ve built instead of starting from scratch and paying for the privilege.
By doing this, you get the best of both worlds - the speed and flexibility of web applications combined with the performance and device features of native apps - cameras, notifications and offline access.
Building a proof of concept or a minimum viable product (MVP)? If you want to move fast (which is usually the case) without breaking the bank, .NET MAUI can help you achieve this. One codebase allow you to manage this across multiple platforms so you’re not trying to coordinate separate apps for Android, iOS, Windows and macOS.
If your team is already using Visual Studio and/or .NET Core, adding a whole new tech stack for mobile or desktop apps can be a real headache and expensive to boot. With .NET MAUI you'll be sticking with what you already know: C# and other familiar tools so your team don't need to spend time on learning new tech and they can stay consistent across web, desktop and mobile.
It also makes it easier to slot new apps into your existing DevOps pipelines and take full advantage of tools including GitHub Actions, Azure DevOps and automated testing.
As we’ve seen, .NET MAUI can do a lot but there are some projects where it like, really stands out. Let’s take a closer look at the types of projects where it can make the biggest impact for your business:
Business apps for field teams
Inventory tracking, delivery logging, inspections
.NET MAUI allows developers to build native apps that work offline and sync when online making it perfect for apps for mobile workers
Productivity tools
Calendar apps, note taking tools, task managers
Where cross platform capability is essential - .NET MAUI makes it easier to build once and deploy everywhere.
Customer portals and/or dashboards
Apps for clients to view reports, manage accounts or communicate with support
Great when the same experience is needed across mobile and desktop platforms
Ecommerce
Inventory browsing, order tracking, loyalty programs.
MAUI can integrate with payment gateways, cameras (for barcode scanning) and location services.
Internal company software
Expense tracking, HR self service, IT support apps.
.NET MAUI is a good choice for internal tools that need to run on multiple platforms with a consistent user experience.
IoT companion apps
Apps to control or monitor IoT devices e.g. home automation, health devices
Works well with Bluetooth and device sensors
.NET MAUI is a major advancement in cross platform application development within the Microsoft ecosystem. It allows you to build applications for Android, iOS, Windows and macOS using a single codebase, ultimately streamlining development and reducing the time and costs you'd have to pay for development duplication. With native access to platform specific features and solid integration with the broader .NET ecosystem, .NET MAUI supports modern development workflows and sustainable architecture. If you'd like to explore how .NET MAUI can replace your existing Xamarin.Forms project or be used as the foundation for a brand new cross platform application, we'd love to hear from you!