Xamarin to .NET MAUI mobile app migration
Migration of the Osunasport mobile app from Xamarin to .NET MAUI, later updated from .NET 9 to .NET 10, including a redesign of the UI/UX.
Context
Xamarin reached end of support, so the Osunasport mobile app needed a path forward before it became unmaintainable. .NET MAUI was the natural target as Microsoft's official successor, sharing most of the .NET/C# tooling already in use.
Process
The migration covered the whole app: project structure, navigation, platform-specific integrations and UI, followed shortly after by an update from .NET 9 to .NET 10 once MAUI's tooling stabilised on it.
Key differences found
- MAUI's single-project structure and resource handling differ from Xamarin.Forms, which meant touching most of the platform-specific code, not just the shared layer.
- Several third-party Xamarin libraries needed MAUI-compatible replacements or custom handlers.
- The migration was used as an opportunity to redesign the app's frontend and improve its UI/UX, rather than doing a purely mechanical port.
Result
A modern, actively maintained mobile app on .NET MAUI / .NET 10, with a refreshed interface, developed and maintained end to end by a single engineer alongside backend and architecture responsibilities.