Xamarin (Legacy)
Xamarin was Microsoft's original C#-based cross-platform mobile framework, now end-of-support and superseded by .NET MAUI. It is relevant chiefly for maintaining and migrating existing apps.
Xamarin (Legacy)
Xamarin was Microsoft's original framework for building native iOS and Android apps in C#, running on the Mono runtime. Xamarin.Forms added a shared, XAML-based UI layer on top of platform-specific Xamarin.iOS and Xamarin.Android bindings. It reached end of support in 2024 and has been replaced by .NET MAUI, but a large installed base of maintained apps remains.
This stack is documented mainly because teams still operate and migrate Xamarin apps. New projects should start on .NET MAUI instead.
Components
- C# is the application language across all layers.
- Xamarin.iOS and Xamarin.Android provide native API bindings via the Mono runtime.
- Xamarin.Forms offers a shared XAML UI that maps to native controls, using MVVM.
- The classic .NET Framework / Mono toolchain compiles to platform binaries.
- Visual Studio provides the primary build and debug experience.
Strengths
Xamarin proved that one C# codebase could ship native apps to iOS and Android with real native controls and near-native performance. It gave .NET teams a mobile path with shared business logic, NuGet access, and MVVM patterns. Many stable, mature apps were built on it, and the model directly informed MAUI.
Trade-offs
Xamarin is out of support: no further updates, security fixes, or new OS feature support are guaranteed. Tooling lags current .NET. Forms had a reputation for slower UI and platform quirks. Continuing on Xamarin means accumulating risk as iOS and Android evolve. The ecosystem has moved to MAUI, so libraries and answers are aging.
When to Use It
Do not start new projects on Xamarin. Treat it as a maintenance and migration concern: keep existing apps running only as long as needed, and plan a move to .NET MAUI, which shares the C#/XAML model and provides an upgrade path. For genuinely new cross-platform work, evaluate MAUI, Flutter, or React Native.