Overall Satisfaction with Xamarin
We use Xamarin for cross-platform development. We like the idea of a code base sharing between platforms. Our apps are either built with Xamarin, or will be built with Xamarin. The problems it addresses is the amount of time and money it costs to have two full native applications.
- Code sharing - I mean, you can do the work in half the time. Great way to release to multiple markets without having to write code twice.
- Robust - Basically anything you need on the OS level is available.
- Intuitive - Xamarin gives you the capability of a code share project, and then platform specific projects. You can communicate between the two and it makes it very nice to develop in.
- Forms - not 100% there. Still needs work but is production ready.
- iOS - sometimes errors can be hard to understand, if they even show up.
- Insights - Xamarin offers their own crash analytics software. However, it's not perfect and sometimes doesn't pick up crashes.
- Code Sharing - We were able to launch an Android implementation of our app within weeks after finishing iOS. The amount of time taken to develop a new platform is very small.
- Monetization - not the best, but definitely getting better. We've had issues with finding suitable ad networks that work with Xamarin.
Apache Cordova is nothing more than a HTML Web VIew App. I've built an app using Cordova and it was a mess. With Xamarin, you get the platform level capabilities, which make the performance, in theory, no different than real native development. Cordova is not suitable for any non-simple app.