Xamarin - Sometimes Worth It
April 04, 2017

Xamarin - Sometimes Worth It

Anonymous | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User

Overall Satisfaction with Xamarin

As an independent consultant, I use Xamarin with many small companies. Often, they bring me on in the early stages to evaluate and recommend improvements to their mobile strategy. Xamarin addresses the business problem of speed and resources. With Xamarin, you can develop mobile apps faster as well as utilizing existing resources. Some companies may have existing .NET developers in which case Xamarin fits well and the learning curve of mobile is less because of the familiarity with .NET.
  • Xamarin allows you to write cross platform code. This allows companies to build apps more quickly by writing less code. Having code abstracted and reused across multiple platforms allows for more testing and less issues overall.
  • The ability to use Visual Studio is a huge plus. Visual Studio is one of the best IDE's available and being able to write cross platforms apps while in a great IDE makes everything less painful.
  • Xamarin is now free with a large company backing. This means that bugs on the platform get fixed more quickly and there is a large community of developers.
  • Having also done a lot of native mobile development, some of the IDE's features need to emulator their native counterparts. For example, trying to extract a string resource on Android in Xamarin Studio is painful. There are many useful tools in Android Studio that Xamarin should implement.
  • Xamarin will always be behind on native platform features. They must catch up when Apple and Google release new platform versions.
  • The biggest pain point is the random issues Xamarin continues to have. Having a large code base on top of a native platform makes it very difficult to debug issues. Every developer must decide if its an issue with Xamarin or the native platform. Bugs don't get fixed very quickly. Hopefully that will change with the Microsoft acquisition.
  • Since Xamarin makes it easier to share code, I have had several projects with very complex business logic that I didn't have to write twice. This means I can ship code faster and with less issues. Usually, with a small company, there are less QA resources which means fewer codes changes is better.
  • I have had several show stopper issues that I've spent days debugging only to find out that the Xamarin platform has an issue. There are so many headaches when developing that there are times I wish I hadn't used Xamarin. This causes missed deadlines debugging transient issues with little or no resources to find help.
Xamarin is well suited for several reasons. The first, it allows companies to share code across platforms. If the app has a lot of business logic and a fairly simple UI, Xamarin is great for this use case. Xamarin also works well if the developers who will work on the app are already fluent in .NET.
Xamarin is less appropriate if the company has a lot of developers. If there are plenty of resources to develop apps natively then the headache of dealing with Xamarin's issues are not worth the effort. If the UI is very complex and has difficult animations it's difficult to debug visual/performance issues in Xamarin.