I've been using Xamarin forms a lot now.
They are miles from being as good as native development.
Soooo many bugs in xamarin itself.
When using Xamarin forms, you will not provide as good of product as you would native.
There are also very little controls.
Xaml works, but is really slow. And the layout is SOOO inefficient !
But the problem is even greater, you can't merge Android and iOS layout passes.
On one platform, measuring is really fast and the other really slow ...
Xamarin forms can't compensate and give native performance to this.
They don't even have listview recycling ...
One developer even said "RelativeLayout is probably best for you here and can do this" to the question what the fastest layout is.
For Android, this is the WORST layout possible.<p>Anyway, you will spend a LOT of time fixing Xamarin bugs and developer their controls.<p>However, I LOVED .net functions, especially LINQ !<p>Anyway, development was really slow and performance is no were near to native.<p>So if you want to deliver a simple app to a client and be cross platform, then sure. But don't try to maintain that app, you will regret it.<p>I'm afraid the whole Xamarin thing won't solve "cross-platform" which isn't a real problem but sure.
Its just another horse that Microsoft is betting on.<p>Oh and for the people that will have to do it anyway.
Use Resharper ! Xaml IntelliSense !!! It will help you a lot.<p>I'm sorry I'm so negative, but it was genuinely the worst development I had.