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.

Cross-platform (also known as hybrid) apps are typically built with just modern web standards like HTML5, CSS3 and JavaScript. Such apps usually take less time to develop (especially if you rely on one of the powerful mobile development frameworks out there), and support multiple platforms out of the box.

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.

Enter Xamarin

Google Trends for Xamarin
Xamarin is a cross-platform mobile development framework that is quickly becoming one of the industry’s oft-cited buzz words. Unlike its standard JavaScript-based counterparts, the C#-based Xamarin lets you leverage all the advantages of native apps, while enjoying the faster time to market of cross-platform software.

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.

So Why Is Xamarin So Great?

Among the more conspicuous Xamarin advantages experts often highlight the following:

  • Native UI. Xamarin apps sport controls that look and behave just like native ones.
  • Native APIs and full access to the underlying device’s functionality.
  • Native hardware acceleration and high performance due to compilation.

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.