Gone Mobile

95: Xamarin.Forms to MAUI

February 23rd, 2024

In this episode, Jon and Allan discuss the migration experiences from Xamarin.Forms to .NET MAUI. They highlight the opportunity for architectural improvements during the migration process, such as cleaning up code and removing static untestable components. They also explain the evolution of Xamarin.Forms into .NET MAUI and the introduction of handlers. The benefits of the single project structure and the ease of migrating third-party libraries are discussed. The conversation also covers the customization of entry handlers and the migration of resources, including images and fonts. This conversation covers various challenges and solutions related to image management, including the use of vectors, app icons, and splash screens. It also discusses the migration process from Xamarin.Forms to .NET MAUI, highlighting the importance of a methodical approach. The conversation concludes with a recommendation for the Maui Community Toolkit as a valuable resource for developers.


  • Migrating from Xamarin.Forms to .NET MAUI provides an opportunity to improve the architecture of the app.
  • The introduction of handlers in .NET MAUI allows for cleaner and more testable code.
  • The single project structure in .NET MAUI simplifies the development process and improves compile times.
  • Migrating third-party libraries may require finding alternatives or porting them to .NET MAUI.
  • Customizing entry handlers and migrating resources, such as images and fonts, can be done more easily in .NET MAUI. Image management in mobile app development can be challenging, especially when dealing with different resolutions and densities.
  • Using vectors can simplify image management by allowing for easy scaling to different sizes.
  • App icons and splash screens can be generated automatically in .NET MAUI, reducing the manual effort required.
  • When migrating from Xamarin.Forms to .NET MAUI, it is important to approach the process methodically, starting with dependencies and gradually bringing over pages and components.


  • Hosts: Jon Dick, Allan Ritchie


  • 00:00 Introduction and Migration Experiences
  • 01:11 Opportunity for Architectural Improvements
  • 03:16 Evolution of Xamarin.Forms to Maui
  • 06:27 Architecture of Maui Handlers
  • 09:30 Benefits of Single Project Structure
  • 13:56 Migration of Third-Party Libraries
  • 18:13 Handling Dependency Service and Renderers
  • 25:09 Porting Plugins and Controls
  • 32:48 Customizing Entry Handlers
  • 35:45 Migration of Resources
  • 37:23 Image Management Challenges
  • 39:25 Building a Solution: Resize-itizer
  • 41:03 Vector Images in Maui
  • 44:05 App Icons and Splash Screens
  • 46:38 Migrating Resources to Maui
  • 49:35 Font Handling in Maui
  • 51:37 Replacing Frames with Borders
  • 53:10 Avoiding Tap Gesture Issues with Stack Layouts
  • 55:12 Namespace Changes in XAML
  • 56:45 Methodical Migration Process
  • 59:28 Package of the Week: Maui Community Toolkit

Episode Comments