Xamarin Pros/Cons: An easy-to-read list

Joilson Cisne
2 min readJun 1, 2016

--

Easy-to-read list of pros and cons of using Xamarin platform.

In the last two weeks of readings about Xamarin, I realized that the pros and cons of using it are somehow clear for the community.

My intent here is to summarize the main facilities and obstacles that appear when developing cross-platform mobile apps with Xamarin.

Pros

  • Native performance. When creating apps with Xamarin, the final performance is the same as the ones developed in ObjC or Java. Xamarin uses the native APIs. It is different from solutions like PhoneGap where views created using HTML/CSS are rendered, which affects the performance dramatically.
  • Shared app logic. Portable Class Libraries (PLCs) or Shared Projects are the two way of creating a reusable app logic. Keep in mind that a good practice is to keep your app logic as simple as possible, and make use of APIs to encapsulate your logic.
  • Single UI. Here we have a delicate point. This is true for data-driven apps, the ones where you do not need an incredible and complex UI. If your app is in this group, Xamarin.Forms project can be used, and more then 90% of the final code will be shared between your apps in the different platforms.
  • C#/.NET Platform. One can use its previous knowledge of C#/.NET and apply it to develop cross-platform apps. Great!

Cons

  • Separated UI development. If the app been created has a complex User Interface Xamarin.Android and Xamarin.iOS project will be used instead of Xamarin.Forms. This means that the developer will have to understand more about each platform before developing the final app.
  • New features delay. Since Xamarin provide access to 100% of the functionalities in both platforms (Android and iOS), there will always be a gap between a new feature release in the original platform and this feature been available in Xamarin. An example is the recently announced Android Instant Apps. When will this be available in Xamarin platform?!

I hope you can use this list to help you to decide whether Xamarin is the right solution for your apps.

If you are already using Xamarin, let me know what were your reasons.

Thanks to Lars Hofvander for the review and to Harrison Mendonça for the support.

--

--