What is Xamarin?
Xamarin is a free, cross-platform development tool. It solves dilemmas many developers face when developing cross-platform apps: separate coding languages and UI paradigms. With Xamarin, you can use C# for iOS, Android, and Universal Windows apps. And with Xamarin Forms, interface design for all three platforms can be accomplished within its XAML-based framework.

The Xamarin platform consists of a number of elements that allow you to develop applications for iOS and Android:
C# language – Allows you to use a familiar syntax and sophisticated features like Generics, Linq and the Parallel Task Library.
Mono .NET framework – Provides a cross-platform implementation of the extensive features in Microsoft’s .NET framework.
Compiler – Depending on the platform, produces a native app (e.g. iOS) or an integrated .NET application and runtime (e.g. Android). The compiler also performs many optimizations for mobile deployment such as linking away un-used code.
IDE tools – The Xamarin Studio IDE and the Xamarin in Visual Studio allow you to create, build and deploy Xamarin projects.

In addition, because the underlying language is C# with the .NET framework, projects can be structured to share code that can also be deployed to Windows Phone.

Here is some documentation I would recommend if you consider getting started with Xamarin :

Developer Home Page

Cross Platform Guide 

10 minutes introduction for Android 

Android Guide 

10 minutes introduction for iOS 

iOS Guide 

The Xamarin Show 

Xamarin University 

Pluralsight courses 

Lynda Courses