Xamarin - Sometimes Worth It
April 04, 2017
Xamarin - Sometimes Worth It
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.