Xamarin Is Being Discontinued: What Does It Mean for Developers?
This article discusses Microsoft’s announcement to end support for Xamarin. We cover alternative platforms, migration, and the future of app development.
Tanya Kobzar
CEO
The world of cross-platform app development is constantly evolving, and one recent change is Microsoft announcing the end of support for Xamarin on May 1, 2024. Most developers who are currently using it for their projects are still questioning what they should do. First — stay calm, and we are going to guide you through the history of the question and solutions for your app.
Why Microsoft Discontinued Xamarin
Xamarin is a powerful cross-platform app development tool. It allows coders to create applications using a shared C# codebase that can be adjusted to fit multiple platforms iOS, Android, or Windows.
The decision to cease support for Xamarin development was not made on a whim. There were various reasons for Microsoft to have made this call.
First of all, due to differences in architecture between Xamarin and .NET Core, Microsoft is no longer focusing on Xamarin support and development. They’ll instead be leading the charge with their new platform incorporated using .NET, called MAUI (Multi-platform App UI). This way, Microsoft wants to remove the separation and embed all the UI-based platforms into a new single technology. This will promote unification within the .NET ecosystem and ensure a higher level of compatibility within different Microsoft frameworks.
Moreover, Microsoft already has its hands full with managing competition against other frameworks. Now, they can shift their attention and resources towards MAUI as a competitor to these frameworks. It will help them streamline the app development process and maintain a competitive edge. In this regard, they’ve also recently updated their documentation to describe how to migrate apps from Xamarin to .NET.
What Does It Mean for Developers?
There are several options:
- Developers can keep their apps on Xamarin even past May 1, 2024, if they are not planning on updating their apps any time soon. The app will keep working just fine.
- The second, more straightforward, option for Xamarin developers is to start considering MAUI. It's only logical to move and adapt to Microsoft's new project as they are switching and providing users time to do so together.
- In some rare cases, developers might consider switching to alternative cross-platform frameworks (like Flutter, React Native, Kotlin Multiplatform) or native implementation — if the complete recreation of the app makes sense.
Even though migration is always a challenge, it will definitely represent a new beginning in app development. MAUI could be a fresh start, as it represents a new generation of consolidated efforts from Microsoft in creating a framework that is a cut above the rest. At the same time, MAUI still has a lot of similarities with Xamarin, so it should be relatively easy for Xamarin developers to switch to the new framework. Let’s talk a bit more about it.
The Launch of .NET MAUI
Microsoft has been hard at work in the creation of next-level tooling. MAUI is expected to take the industry by storm and rival competition such as Flutter and React Native. It’s anticipated to become the new way to create rich, beautiful applications for any platform.
After its release was pushed back and many previews had passed, Microsoft finally made .NET MAUI available for Windows in August 2022 (November 2022 for macOS). Now, one year after its release, the way developers make apps has become a much smoother experience. With a single base class, they can now create scalable applications for iOS, Android, MacOS, and Windows.
What Is .NET MAUI?
.NET MAUI is a framework for developing cross-platform applications, much like Flutter and React Native. It lets developers write code in a single language to run their applications across all platforms. To understand the need for it and how it works, let’s dive into its history and discover its origins.
Xamarin.Forms was a step forward to unify UI development and share more code across the platforms. MAUI is the next step that will make developers think less about the platform differences and focus on coding.
It is why .NET MAUI was created, to solve the problems that Xamarin development had and to innovate and improve upon the old ways. While .NET MAUI hasn’t yet had the time to leave a large impact on developers, it still has a strong foundation in app development. Backed by Microsoft, it will certainly become a viable alternative to other frameworks.
What Is .NET MAUI’s Functionality in Comparison to Xamarin?
There are notable differences between the functionality of MAUI and Xamarin, which we’ll tackle below:
- Project architecture: Before, Xamarin kept and maintained many projects for each platform. It was done with individual files for each platform being under those projects. With .NET MAUI, there is a unified structure that uses a single codebase to run code on each platform. There is no need to keep platform-specific files (images, fonts, sounds), which are now put in one place.
- Code limitations: Xamarin uses Mono BCL (Base Class Library), which is slightly different from the .NET Framework BCL. This generates many limitations, as the code cannot be shared between the frameworks. .NET MAUI, on the other hand, makes it possible to create apps based on a single .NET BCL.
- Advanced features: As MAUI is now a part of .NET 6, you can now use several features that weren’t easily available. The most significant of these are nullable types, hot reloads, and image optimization. Xamarin did not have full support for hot reloading. It also didn’t have nullable types and needed separate images for different resolutions across platforms.
- Control customization. .NET MAUI makes control customization more convenient through the use of handlers. Handlers are easy to implement and allow to improve app performance.
What Are the Community & Businesses’ First Reactions to MAUI’s Release?
The release of MAUI was anticipated with curiosity and some level of reservation. The developers that used Xamarin were not satisfied by this announcement. And who can blame them? No one would be happy to have to re-learn and re-familiarize themselves with new tools.
However, a part of the community was excited. They felt they’d be getting a much-needed overhaul for Xamarin and a new tool for efficient cross-platform development. The biggest concerns people have are the presence of bugs and the performance level of the new platform.
The release was particularly good news for businesses as they can now leverage the unified .NET ecosystem within the development of their app. Additionally, a Xamarin app can still be migrated to MAUI, and businesses can even get a desktop app along with it. It ends up saving development time if you already have an application in Xamarin. Moreover, MAUI is easily scalable in comparison to Xamarin.
Where Else Can You Migrate Your Xamarin App?
If you’re planning on creating a new app, then you can consider other technologies, like Flutter or React Native. If you do have a Xamarin app already, just upgrade to MAUI.
Flutter, owned by Google, lets developers make lightweight and efficient applications quickly. Flutter uses widgets, which are intuitive and easy to use, to create attractive and user-friendly apps. It also allows seamless integration with a wide variety of backend services.
React Native provides similar features, but instead uses JavaScript and the React framework to achieve them. It is preferred by those already proficient in JS since there is no language barrier to cross and development can begin immediately. It has thus seen a huge rise in popularity and was even used to create Facebook and Instagram.
The competition is tough for Xamarin, or rather MAUI, to overcome. However, Microsoft has always managed to excel whenever they’ve been serious and could rival these frameworks given time and effort.
FAQ
If there’s still some confusion, here are some frequently asked questions to help you get a better understanding of both Xamarin and MAUI.
What If My App Is on Xamarin?
If your app is still on Xamarin, it should continue to run till Microsoft ends its support, which will be on May 1, 2024. It will work even further till you decide to update it. Also after that date, your app, much like any other project built using Xamarin, will no longer receive any bug fixes, revisions, or updates.
It’s also likely that your app will become obsolete and incompatible with current platforms as they move ahead. It will leave it open to security vulnerabilities and other issues. It is possible to upgrade from Xamarin to MAUI; the official Microsoft documentation mentions the entire procedure step-by-step.
What If I Don’t Move to MAUI?
You can instead look into other cross-platform development frameworks for your needs. However, you should know that MAUI is designed to replace Xamarin in its entirety and is more of a complete overhaul rather than a brand-new framework. Nothing’s future-proof, but with Microsoft’s dedicated support, it should last a long time.
How to Move to MAUI, and How Much Will It Cost?
Migration to MAUI from Xamarin is described in its entirety within Microsoft’s official documentation. Essentially, you need to make sure your projects are SDK-style and update your dependencies to .NET 6+.
The cost depends on the size of your project and the team you’re working with. Moving your app to Maui will take from one week to a few months depending on logic, number of screens, custom controls, navigation complexity between screens, and other aspects. Some of the APIs that are currently used by your app may need additional configuration. MAUI’s usage itself is free, it’ll only cost time and effort to migrate to it.
We have successfully migrated several projects from Xamarin to MAUI. Reach out to us for support or guidance on the process, and we will be happy to assist!