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:
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:
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
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
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.
Top comments (0)