DEV Community

Cover image for Is Xamarin Dead?
Federico Navarrete
Federico Navarrete

Posted on • Edited on • Originally published at supernovaic.blogspot.com

Is Xamarin Dead?

The short answer is No, it's not dead. The long explanation starts here.

A couple of days ago, I had a quite heated conversation on Twitter:

tweek

At the beginning of my career building mobile apps, I was also confused about what was Xamarin? Was it a multi-platform solution or was it a single-platform solution? The answer was both.

With Xamarin at the present time, you can build apps for:

  • Android only AKA Xamarin.Android,
  • iOS only AKA Xamarin.iOS.

Xamarin.Forms was the cross-platform solution that was replaced by MAUI.NET (more about it later).

In my case, I started to build straightaway Android apps only since I didn't own a Mac (I still don't), and that's how I easily understood the difference between the 3 solutions. However, I noticed that this confusion still persists in 2024, and that's why I wanted to bring you this short explanation:

android

Xamarin.Android is a platform for building native Android apps with C# that only works on Android. These are some important points about it:

  • The code can be compared with using Kotlin or Java.
  • Kotlin or Java code can be reconverted to C#.
  • You can reuse the typical XMLs to create your activities or views.
  • It generates only .apk or .abb.
  • It can be used to bind Android libraries from Gradle.
  • The final app will be more optimal and smaller since it works only on Android.
  • Most code might not be compatible with Xamarin.iOS.

You can read more at:

Its official GitHub repository is:
xamarin/xamarin-android

Its official documentation:
Xamarin.Android - Xamarin

apple

Xamarin.iOS is a platform for building native iOS apps with C# that only works on iOS. These are some important points about it:

  • The code can be compared with using Swift or Objective C.
  • Swift or Objective C code can be reconverted to C#.
  • You can reuse Storyboards to create your views.
  • It generates only .ipa.
  • It can be used to bind iOS libraries.
  • The final app will be more optimal and smaller since it works only on iOS.
  • You must own a Mac either physically or in a cloud to compile your code.
  • Most code might not be compatible with Xamarin.Android.

You can read more at:

Its official GitHub repository is:
xamarin/xamarin-macios

Its official documentation:
Xamarin.iOS - Xamarin

Furthermore, there is a variation for building macOS apps only that is called Xamarin.Mac:
Xamarin.Mac - Xamarin

maui
Credits: Microsoft

.NET MAUI is a platform for building native multiplatform apps for Android, iOS, Windows, etc. from one source code. It is the official Xamarin.Forms' evolution. These are some important points about it:

  • It can be compared with React Native, Flutter, or NativeScript.
  • Some Android, Windows, and/or iOS code/libs might be compatible but they should be readapted per platform.
  • It generates .akp, .abb, .exe .ipa, .app, etc.
  • The UI might be less flexible since it must work on all devices.
  • The final app will be less optimized and bigger since it works on multiple platforms.
  • You must also own a Mac either physically or in a cloud to compile your code for iOS and/or macOS.

You can read more at:

Its official GitHub repository is:
dotnet/maui: .NET MAUI

Its official documentation:
.NET MAUI

Hopefully, this short explanation can support you in your adventure as a mobile developer and avoid confusion. The better you know which tech you must choose, the better performance you will get and the better your results will be.

Follow me on:

LinkedIn YouTube Instagram Cyber Prophets Sharing Your Stories
LinkedIn YouTube Instagram RedCircle Podcast RedCircle Podcast

sponsor me

Top comments (0)