Xamarin is one of very few cross-platform mobile development tools that is fully native (i.e. we are utilizing the platform’s native UIs and APIs, not HTML or a mix of HTML/native as with many other platforms). That also means we get a significant mobile performance improvement as the apps run at native speed. When necessary, Xamarin’s tools also allow us to easily do work in native code, so we are never constrained if we run into a limitation of the platform.
Broad Community Support
The Xamarin tools are supported by large established companies (Xamarin and Microsoft) and more importantly, the platform uses languages and tools supported by very large communities (C#, Visual Studio, Mono). Many of our clients have large internal C# teams with skills that transfer the knowledge and understanding of app support.
Diverse Third Party Libraries
The largest risk of any cross-platform tool is how many third-party libraries and SDKs support it. We use anywhere from ten to thirty third-party libraries or SDKs on most of the apps we build. If those were not supported by Xamarin, any gains we get from working with a cross-platform tool would be more than outweighed by having to custom code components that are already widely available. In the event Xamarin does not support a library we need, we can create bindings to 3rd party libraries and don’t have to wait for a separate 3rd party implementation.