Cross-Platform User Interfaces with Xamarin.Forms

Xamarin.Forms is a cross-platform UI toolkit that allows developers to easily create native user interface layouts that can be shared across Android, iOS, and Windows Phone. This section contains the introduction to Xamarin.Forms and our guides to help you build Xamarin.Forms apps. You can also learn more about its capabilities, try our samples, and browse the API documentation.

Creating Mobile Apps with Xamarin.Forms

The first edition of Charles Petzold's book Creating Mobile Apps with Xamarin.Forms is available as a free download to help you get started with Xamarin.Forms!

Enterprise Application Patterns eBook

Architectural guidance for developing adaptable, maintainable, and testable Xamarin.Forms enterprise applications - free download.

Xamarin.Forms for Windows

Check out Xamarin.Forms running on Windows! Add projects that run the Universal Windows Platform (UWP) to your existing Xamarin.Forms solutions using Visual Studio 2017.

Xamarin.Forms for Mac (Preview)

Xamarin.Forms now runs on Mac! Follow these instructions to add the Preview support for macOS apps to your Xamarin.Forms project.

Is Xamarin.Forms right for your project?

Xamarin provides two ways to build great, native apps. Xamarin.Forms maximizes code sharing, while Xamarin.iOS and Xamarin.Android provide direct access to platform-specific APIs.

Xamarin.Forms is best for:

  • Apps that require little platform-specific functionality
  • Apps where code sharing is more important than custom UI
  • Developers comfortable with XAML

Xamarin.iOS & Xamarin.Android are best for:

  • Apps with interactions that require native behavior
  • Apps that use many platform-specific APIs
  • Apps where custom UI is more important than code sharing

Either way, you'll get fully native apps with shared business logic using C# and the .NET framework.

Xamarin.Forms Developer Guides

The documents in this section show you how to build cross-platform apps using Xamarin.Forms.

Getting Started

This guide introduces the basics of Xamarin.Forms development and covers creating and running your first application, and extending the application to include multiple screens.


XAML is a declarative markup language that can be used to define user interfaces. The user interface is defined in an XML file using the XAML syntax, while runtime behavior is defined in a separate code-behind file.

Application Fundamentals

This guide explores topics that are fundamental to Xamarin.Forms development, including effects, custom renderers, the dependency service, and messaging center.

User Interface

How to use the views provided by Xamarin.Forms, such as ListView, TableView, and WebView.

Platform Features

Take advantage of platform-specific features with Xamarin.Forms, such as styling iOS applications and incorporating the latest iOS 9 features, and updating Android apps to use Material Design.

Data & Cloud Services

Xamarin.Forms applications can consume data and cloud services implemented using a wide variety of technologies, and this guide examines how to do this.

Deployment & Testing

Stabilize Xamarin.Forms applications by improving their performance, and by writing UI tests to run in the cloud on hundreds of devices.

Under the Hood

Xamarin.Forms internal implementation information.


Common problems and how to resolve them.

API Documentation

Browse the API documentation for Xamarin.Forms.


Check out the sample gallery for Xamarin.Forms or clone directly from Github.

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.