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!
Xamarin.Forms for Windows
Check out Xamarin.Forms running on Windows! Add projects that run on Windows 8.1, Windows Phone 8.1, and the Universal Windows Platform to your existing Xamarin.Forms solutions.
Is Xamarin.Forms right for your project?
Xamarin.Forms is best for:
Xamarin.iOS & Xamarin.Android are best for:
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.
This document 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.
Working with Xamarin.Forms user interface controls like ListView, TableView, and WebView.
Control templates provide the ability to easily theme and re-theme application pages at runtime, while data templates provide the ability to define the presentation of data on supported controls.
User interface controls can be easily extended without subclassing by using behaviors to add functionality.
Taking 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.
Effects allow the native controls on each platform to be customized, and are typically used for small styling changes.
Custom Renders let developers 'override' the default rendering of Xamarin.Forms controls to customize their appearance and behavior on each platform (using native SDKs if desired).
The DependencyService provides a simple locator so that you can code to Interfaces in your shared code and provide platform-specific implementations that are automatically resolved, making it easy to reference platform-specific functionality in Xamarin.Forms.
MessagingCenter enables view models and other components to communicate with without having to know anything about each other besides a simple Message contract.
Xamarin.Forms applications can consume web services implemented using a wide variety of technologies, and this guide will examine how to do this.
The built-in .NET localization framework can be used to build cross-platform multilingual applications with Xamarin.Forms.
Stabilize your Xamarin.Forms app by improving its performance, and by writing UI tests to run in the cloud on hundreds of devices.
Common problems and how to resolve them.
XAML—the eXtensible Application Markup Language—allows developers to define user interfaces in Xamarin.Forms applications using markup rather than code. XAML is never required in a Xamarin.Forms program but it is often more succinct than equivalent code, more visually coherent, and potentially toolable. XAML is particularly well suited for use with the popular MVVM (Model-View-ViewModel) application architecture: XAML defines the View that is linked to ViewModel code through XAML-based data bindings.
Browse the API documentation for Xamarin.Forms.