Visual Studio and Xamarin

Note

This article applies to Visual Studio 2015. If you're looking for Visual Studio 2017 documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2017. Download it here.

Xamarin is a mobile app development platform for building native iOS, Android, and Windows apps from a common C#/.NET code base, achieving 75% to nearly 100% code reuse between platforms. Apps written with Xamarin and C# have full access to underlying platform APIs and the ability to build native user interfaces, and compile to platform-specific packages so there is little impact on runtime performance. (Note: Xamarin also supports F#, but this documentation will focus on C# only. Visual Basic is not supported at this time.)

Better still, developers familiar with C#, .NET, and Visual Studio will enjoy the same the power and productivity when working with Xamarin for mobile apps, including remote debugging on Android, iOS, and Windows devices—without having to learn native coding languages like Objective-C or Java. It’s little surprise, then, that many high performance apps with beautiful user interfaces—such as NASCAR, Aviva, and MixRadio—have been built using Xamarin.

This documentation helps you evaluate the full capabilities of Visual Studio with Xamarin to build these experiences.

Note

These instructions describe the easiest and most straightforward computer configuration for those that have a Windows and Visual Studio background. With this configuration, the overall development experience is simplified because you only need to interact with the Mac to use the iOS simulator and tethered device. If you instead come from a Mac background, we recommend either running Visual Studio inside Parallels/VMWare or using Xamarin Studio Community. Refer to Setup, install, and verifications for Mac users for instructions.

Note

If you're looking for a cross-platform development solution based on HTML and CSS, check out the Visual Studio Tools for Apache Cordova as described in Cross-Platform Development in Visual Studio.