Com o uso do framework Xamarin, é possível desenvolver uma aplicação e executá-la em diversas plataformas mobiles. A aplicação chega a compartilhar em torno de 80% do código fonte, o restante, 20% é referente à interface do usuário (UI) e deve ser codificada separadamente para cada plataforma. Nesta última versão, o Xamarin 3.0, são introduzidas novas funcionalidades como o Xamarin.Forms, uma biblioteca MVVM para escrever código de UI em C# que será executado nativamente em iOS, Android e Windows Phone.
Utilizando o Xamarin.Form os desenvolvedores podem criar diversas Pages: ContentPage, MasterDetailPage, NavigationPage, TabbedPage, CarouselPage, através de uma lista com mais de 40 widgets e layouts, incluindo o RelativeLayout, o GridLayout, o Button, o TableView, o ProgressBar, etc. Quando a aplicação está sendo executada, cada página com seus controles é exibida (renderizada) utilizando a página correspondente e os controles do sistema em que a aplicação é executada. Por exemplo, renderizar a classe Xamarin.Forms.DatePicker em uma das três principais plataformas mobile da atualidade, apresenta o resultado da figura à seguir, algo próximo à aplicações totalmente nativas.
Em alguns casos a biblioteca não oferece certas funcionalidades nativas, neste caso o desenvolvedor pode utilizar páginas nativas das plataformas escritas com o Xamarin.IOS ou Xamarin.Android em conjunto com páginas do Xamarin.Forms. É possível também definir páginas customizadas, controles e layouts ou customizar os componentes do Xamarin.Forms através de herança, sobrescrevendo seus comportamentos.
As UI criadas com o Xamarin.Form são salvas em XAML (eXtensible Application Markup Language) e podem ser editadas manualmente ou através de ferramentas específicas. As bibliotecas inclusas suportam algumas animações e mapas. Uma série de exemplos está disponível no GitHub.