Question: what are the requirements to learn xamarin?
Answer: C# language. ... 
Mobile development: start with one (iOS or Android). ... 
Architecture: to get the most out of Xamarin, you will want to share as much code as possible and architecture your code & solution right.