Free Quote
Blog

Cross-platform Mobile Development — Does Xamarin Offer the Best of Both Worlds?

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.

  • Jul 29th, 2015 at 5:34 pm

    "Native UI. Xamarin apps sport controls that look and behave just like native ones."

    They don't look like the native controls, they are the native controls.
    This statement seems to imply otherwise as if Xamarin was similar to Java/Swing or QT ext…

  • Aug 5th, 2015 at 12:20 pm
    YoY

    the problem of Xamarin is the regressions that you get at each update. it makes you just waiting the next update and you just can't work during this time.. In 4 years, I think xamarin operational ratio is 60%, 40% of the time it's broken..

    • Oct 5th, 2016 at 7:22 am
      JonesRay

      Owned by Adobe, PhoneGap is a free resource that first-time app developers can use to translate code from HTML5, CSS, and JavaScript.They maintain SDKs (software development kits) on their end for each of the platforms you can develop an app for, so it’s one less thing you have to worry about. And once your app is completed, you can share it with your team members for review to see if you need to make any improvements.

  • Sep 6th, 2015 at 3:50 am
    Aviation Staffing Solutions

    Nowadays, it is a huge advantage if businesses are mobile ready. With a wide range of mobile apps to choose from, it is very important to know the best interface that will work according to your needs. Thanks for sharing!

  • Oct 20th, 2015 at 1:43 pm

    I've been using Xamarin forms a lot now. They are miles from being as good as native development. Soooo many bugs in xamarin itself. When using Xamarin forms, you will not provide as good of product as you would native. There are also very little controls. Xaml works, but is really slow. And the layout is SOOO inefficient ! But the problem is even greater, you can't merge Android and iOS layout passes. On one platform, measuring is really fast and the other really slow … Xamarin forms can't compensate and give native performance to this. They don't even have listview recycling … One developer even said "RelativeLayout is probably best for you here and can do this" to the question what the fastest layout is. For Android, this is the WORST layout possible.
    Anyway, you will spend a LOT of time fixing Xamarin bugs and developer their controls.
    However, I LOVED .net functions, especially LINQ !
    Anyway, development was really slow and performance is no were near to native.
    So if you want to deliver a simple app to a client and be cross platform, then sure. But don't try to maintain that app, you will regret it.
    I'm afraid the whole Xamarin thing won't solve "cross-platform" which isn't a real problem but sure. Its just another horse that Microsoft is betting on.
    Oh and for the people that will have to do it anyway. Use Resharper ! Xaml IntelliSense !!! It will help you a lot.
    I'm sorry I'm so negative, but it was genuinely the worst development I had

  • Oct 21st, 2015 at 7:21 am

    I'm working in a company developing a Android, iOS and Windows Phone app at the moment.
    It's a small team so we have one main developer programming the logic and Android app (myself) and another guy working on the ports. It's actually not too bad, we are making good speed.
    We are writing them all natively and I feel this is simply the best way to ensure a stable and efficient app across all platforms. Yes it takes more time but the results are worth it. It's a pity there is not a better framework of any kind but the ports don't take too long!

  • Nov 19th, 2015 at 6:32 am

    Nice post to read as an app developer. I have developed a number of apps with the help of various cross platform mobile app development tools.

    I want to suggest the author as well as all the developers, an another app development tool called Configure.IT . Just try this tool once, you will surely love it. This is my personal view, I have developed plenty of apps with this tool and so I recommend this tool to everyone.

    The unique features are,

    => Cross Platform Native App Development Tool

    => No Coding required, just drag & drop

    => Direct API Connect

    => No need to design UI, you can import .PSD file directly for UI Purpose

    => A large numbers of templates to choose an attractive design

    Review this platform once, I am sure you will forget all other platform, same happen to me as well.

  • Dec 8th, 2016 at 12:26 pm
    Rahim

    Interesting and informative post to go through for iOS mobile application developers. Owning a mobile application is considered as a mark of prestige for business. Not only that but customer satisfaction and other services pertaining to it are also very well fulfilled. Before initiating the development process it is must to get well acquainted with the best interface that will work.

    • Dec 23rd, 2016 at 9:44 am
      nura

      Thanks for sharing this post with us it is a worth read

    • Mar 15th, 2017 at 9:30 am
      redhat

      really great information , that’s y readers are frequently coming back to your blogs , thanks for sharing

  • Mar 10th, 2017 at 7:24 am
    anitha

    Nice post. I have been reading a lot of stuff on this topic in the last few months, but this article stands out with its simplicity & authenticity. Every passage made profound sense. Thanks a lot for this.

  • Mar 31st, 2017 at 9:54 pm
    Saravanan Raj

    A good posting on Cross-platform Mobile Development . Its good to read.. Thanks

  • May 8th, 2017 at 2:45 pm
    xamarin development for android

    Thanks for sharing this blog post with us!

  • May 26th, 2017 at 3:33 pm
    iprism

    Thank You for sharing your article. This is very informative article to cross-platform mobile apps development.
    Keep it up.

  • Jul 22nd, 2017 at 8:56 am
    ramyakrishnan

    Good and Informative article.. Thanks for sharing…

  • May 25th, 2018 at 4:28 pm
    interview preparation

    Nice information about test automation tools my sincere thanks for sharing post Please continue to share this post.

Leave a Comment
Your email will not be published