Xamarin allows developers to write mobile apps using C# and share code across platforms like iOS, Android and Windows. It uses 100% native user interfaces and APIs while allowing extensive code reuse. Developers can use Xamarin.Forms to share common UI code or write native UIs and share business logic. Xamarin apps provide a native user experience along with faster development and lower maintenance costs compared to other cross-platform options.