Are you a start-up or business that needs a mobile app? If so, one of the first (and very important) decisions you’ll need to make is whether to go native or cross-platform.
If you go the native route, you’ll have to develop an individual app for each of the popular platforms (at least iOS and Android). Natively compiled apps are typically fastest, but there’s a price to pay: you need to hire software engineers with specific platform-relevant skills to design, build, test, and maintain each app, per platform. Meaning you’ll need Java guys for Android, Objective-C guys for iOS, and so on.
However, despite great progress on this front, cross-platform HTML5-based apps are sometimes not quite up to par with truly native ones — especially in areas such as user experience and performance.
The chief idea behind Xamarin is simple: the app is coded entirely in C# and then compiled to run seamlessly on iOS, Android, Windows Phone, Mac and more.
There are several key components to Xamarin: Xamarin Platform, Xamarin Test Cloud, and Xamarin Insights (real-time analytics). This means Xamarin offers a full-fledged solution for coding, testing, and monitoring cross-platform mobile applications.
Among the more conspicuous Xamarin advantages experts often highlight the following:
There are two other Xamarin advantages that are definitely worth mentioning.
First, the code sharing. Xamarin claims an average of 75% of shared code between different target platforms. When user interfaces are built with Xamarin.Forms, the shared code percentage could go well over 90%. Needless to say, this could be a huge time-saver!
Second, people at Xamarin work hard to keep abreast of the latest APIs from Google and Apple and support them. This means you can e. g. build and debug WatchKit apps, or create apps that run on Android Wear devices.
In addition, Xamarin offers its own IDE for development (called Xamarin Studio), but Microsoft Visual Studio is also fully supported. With Xamarin, it is therefore possible to use the familiar Visual Studio environment to build cross-platform applications for iOS, Android and Mac.
Considering the above, Xamarin looks like a great tool for the job of cross-platform mobile development — arguably an ideal one for those who already possess good C# expertise.
Have you used Xamarin to bring your or your customers’ ideas to life? If so, did the platform live up to the hype in your case? As always, your comments are very welcome.