Per esperienza ho trovato Xamarin una soluzione non valida.
Conviene usare gli ambienti nativi: migliore documentazione, miglior supporto, migliore disponibilita' di librerie di terze parti, miglior controllo sul codice.
Appena appena ti serve fare qualcosa di un epsilon piu' complesso di una semplice form, COMUNQUE devi andare dei dettagli specifici della piattaforma, e scrivere direttamente nel linguaggio specifico per la piattaforma.
Quindi, in pratica, Xamarin non ne vale la pena.